我下面的函数进行了 AJAX 调用,由于它是返回的无效 JSON 对象,我必须手动将结果解析为有效的 JSON 对象(有效)。问题是当我将 JSON 对象传回给原始调用函数时,该对象没有被正确传回。
如果我只放入第三个警报,它将显示该对象“无效”。但是,如果我将所有三个警报都放入,只有警报 2 会说无效(1 和 3 将显示对象)。这让人相信这可能是在这些变量之间传递对象的某种时间问题。关于如何解决这个问题的任何建议,因为我显然无法在我的最终代码中放置警报。
function loadDocuments(){
var myDocuments = getDocs();
alert('third response ' + myDocuments);
}
function getDocs() {
var myURL = "someURL";
var response;
$.ajax({
url: myURL,
type: 'GET',
dataType: 'json',
complete: function(docData) {
if(docData.status==200){
response = parseDocResults(docData.responseText);
alert('first response' + response);
}else{
response = "Documents failed to load";
}
}
});
alert('second response' + response);
return response;
}