Wednesday, June 27, 2018

jquery - Javascript Functions and optional arguments



I have two nearly identical javascript functions that are used to initiate a jquery $.get call. The arguments to the function are passed to the script being called.



The problem is that one set of calls requires an additional argument that the other does not.



To accomplish this I'm using the two nearly identical javascript functions I've mentioned. Here they are:



function process(url, domid, domain, scan_id)

{
$.get(url,
{
domain: domain,
scan_id: scan_id
},

function(data)
{
$(domid).html(data);

});
}

function process_type(url, domid, type, domain, scan_id)
{
$.get(url,
{
domain: domain,
type: type,
scan_id: scan_id

},

function(data)
{
$(domid).html(data);
});
}


As you can see, the 2nd function merely accepts an additional argument called 'type' which is then passed through the $.get call.




I want to combine these two functions, but I'm not sure how I can optionally include that 3rd argument in that ( array / object / whatever it is in { } ( yes, javascript noob) ) that's being passed in $.get.



EDIT just to say.... damn, you guys are good. :D


Answer



Since all you're doing with everything but url and domid is passing it to the $.get, why not do this?



function process_type(url, domid, args) {
$.get(url, args, function(data) {
$(domid).html(data);

});
}

// call it without type
process_type('myurl', 'domid', {domain:'..', scanid:'...'});
// call it with type
process_type('myurl', 'domid', {type: '..', domain:'..', scanid:'..'});

No comments:

Post a Comment

plot explanation - Why did Peaches' mom hang on the tree? - Movies & TV

In the middle of the movie Ice Age: Continental Drift Peaches' mom asked Peaches to go to sleep. Then, she hung on the tree. This parti...