In Javascript, it is impossible for a function to return
an asynchronous result. The function will usually return before the AJAX request is even made.
You can always force your request to be syncronous with async: false
, but that’s usually not a good idea because it will cause the browser to lock up while it waits for the results.
The standard way to get around this is by using a callback function.
function ajax_test(str1, callback){
jq.ajax({
//... your options
success: function(data, status, xhr){
callback(data);
}
});
}
and then you can call it like this:
ajax_test("str", function(url) {
//do something with url
});