请求完成后,我尝试将search
ajax响应设置为query
变量 。但是,我收到了一个未定义的警报。我想知道是否有人知道如何实现这一目标?
我感谢任何建议,
非常感谢提前!
var query ='';
$.ajax({
type: 'POST',
url: "ajax/search.php?&reqPage="+reqPage,
data: $(this).serialize(),
dataType : 'JSON',
success: function(search){
$('.search-table').html(search.rows);
},
complete: function(search){
query = search.query;
alert(query); //output undefined
},
error: function(ts) { alert(ts.responseText) }
});
答案 0 :(得分:2)
jquery中的第一个完整回调给出了2个参数。并且没有数据,只有jqXHR和textStatus。因为完整的回调调用错误。所以你的代码应该是:
var query ='';
$.ajax({
type: 'POST',
url: "ajax/search.php?&reqPage="+reqPage,
data: $(this).serialize(),
dataType : 'JSON',
success: function(search){
$('.search-table').html(search.rows);
query = search.query;
},
error: function(ts) { alert(ts.responseText) }
});
当请求被强制并且没有服务器错误时,它将被调用。在您的情况下,答案是有效的JSON对象。 数据未通过完整回调传递,因为错误可能无法通过答案。