我有一个PHP脚本,它接受一个查询字符串返回和JSON对象。我正在尝试进行一个AJAX调用,它将返回此JSON对象,以便我可以在jQuery自动完成中使用它。这是我到目前为止的AJAX调用
$(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);
但这只是给了我未定义的。我在这里做错了什么?
答案 0 :(得分:0)
这不是这样做的方法,因为它是异步调用,因此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);
}
});
});
});
答案 1 :(得分:0)
您需要等待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);
}
});
});
});