http请求发送给某些' request_url'以格式{'成功':1,' html':' thestuff'}
返回json回复所以当
jQuery.ajax({
url: 'request_url',
success: function(response){
alert(response.html); //'thestuff' is here as expected
}
});
' thestuff'可以在response.html中按预期找到。但是如果这个ajax被称为“成功”的话。回调另一个ajax请求然后response.html将变空并且' thestuff'即将回应#39;
jQuery.ajax({
url: 'some_other_url',
success: function(some_other_response){
jQuery.ajax({
url: 'request_url',
success: function(respose){
alert(response.html); //there is nothing
alert(response); //I see 'thestuff' which is expected in 'html'
}
})
}
});
为什么会这样?
更新:' thestuff'包含一些带有{}的js代码我可以假设某些东西可能会混淆,但为什么它适用于单个(非嵌套)ajax请求。
答案 0 :(得分:0)
没有足够的声誉来评论,所以添加作为答案 以下是关于使用dataType的charlietfl评论的扩展。
我使用dataType =“json”使其工作。根据jQuery文档,Json必须严格格式化。
jQuery.ajax({
url: 'some_other_url',
success: function(some_other_response){
jQuery.ajax({
url: 'request_url',
dataType:"json",
success: function(response){
alert(response.status); //there is nothing
alert(response); //I see 'thestuff' which is expected in 'html'
}
})
}
});
request_url应该返回这样的内容(注意,应该使用引号而不是撇号)
{"status":"s","html":"some stuff"}