ajax by nature asyc. The code does not wait for a response from your success callback, so the data is not accessible outside of success unless it is passed.
You will need to process the data inside success, try calling a separate method / function:
function handleResponse(data) {
here are the docs on jquery ajax method
You can also use an external success function, rather than the annon built-in string, which calls the function anyway. it will still pass data as a parameter
function handleResponse(data) { // do something } $.ajax({ url:"/getDataFromServer.json", //async: false, type: "GET", dataType: "json", success:handleResponse });
UPDATE: as pointed out in the comments, you might be better off using an http get request rather than a post . they have advantages , but get requests can be cached, so for data retrieval this can lead to better performance.
atmd
source share