Wednesday 27 June 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

php - file_get_contents shows unexpected output while reading a file

I want to output an inline jpg image as a base64 encoded string, however when I do this : $contents = file_get_contents($filename); print &q...