Javascript 如果jQuery AJAX调用变量,则保存结果
我有一个PHP脚本,它接受查询字符串返回和JSON对象。我正在尝试进行一个AJAX调用,该调用将返回这个JSON对象,以便在jQuery自动完成中使用它。这是我到目前为止的AJAX调用Javascript 如果jQuery AJAX调用变量,则保存结果,javascript,jquery,ajax,json,Javascript,Jquery,Ajax,Json,我有一个PHP脚本,它接受查询字符串返回和JSON对象。我正在尝试进行一个AJAX调用,该调用将返回这个JSON对象,以便在jQuery自动完成中使用它。这是我到目前为止的AJAX调用 $(document).ready(function(){ $("#searchBox").keyup(function(){ var search_result = $.ajax({ url:"/mm5/service/product_lookup_json.php", ty
$(document).ready(function(){
$("#searchBox").keyup(function(){
var search_result = $.ajax({
url:"/mm5/service/product_lookup_json.php",
type: "GET",
dataType: "json",
jsonp: false,
data: "query=" + $("#searchBox").val(),
success: function(data){
return data;
}
});
console.log(search_result);
});
});
这会将AJAX调用的结果发送到控制台(一个javascript对象)。我可以在该对象中看到JSON。我想我要做的就是访问我想要的数据
console.log(search_result.responseJSON);
但这只是给了我一个未定义的定义。我做错了什么?这不是这样做的,因为这是一个异步调用,所以数据不会由ajax调用返回。试试这个
$(document).ready(function(){
var search_result;
$("#searchBox").keyup(function(){
$.ajax({
url:"/mm5/service/product_lookup_json.php",
type: "GET",
dataType: "json",
jsonp: false,
data: "query=" + $("#searchBox").val(),
success: function(data){
search_result = data;
console.log(search_result);
}
});
});
});
您需要等待AJAX调用完成,以便访问它返回的数据
$(document).ready(function(){
$("#searchBox").keyup(function(){
$.ajax({
url:"/mm5/service/product_lookup_json.php",
type: "GET",
dataType: "json",
jsonp: false,
data: "query=" + $("#searchBox").val(),
success: function(data){
//data is available at this points
console.log(data);
}
});
});
});