我正在对codeigniter php函数进行以下jquery ajax调用:
var html ="";
$.ajax({
type:"POST",
url: "Ajax/getHtml",
data: { u : contents },
dataType: 'html',
success: function(data) {
html = data;
},
error: function(jqXHR, textStatus, errorThrown) {
console.log('error');
console.log(jqXHR,textStatus, errorThrown);
}
});
console.log('html', html);
这是正常工作,成功返回html,如果我记录数据,我可以看到到控制台。但是我似乎无法在javascript变量中捕获HTML响应。我在全球宣布了一个(html)。当我看到控制台时,我看到:
html
jquery-2.1.1.js:8623 XHR finished loading: POST "http://localhost/b1/Ajax/getHtml".
我没有使用javascript,但这似乎不合时宜,所以我认为问题是javascripts异步性质导致脚本继续前进而不等待ajax请求返回结果。
这是否有意义,我应该如何解决这个问题?
答案 0 :(得分:0)
我担心这是不可能的。
如果你想对从ajax返回的html data
做一些事情,你应该在success函数内部执行它,或者调用另一个使用retured值执行该任务的函数。
答案 1 :(得分:-1)
我想你应该试试data.responseText();