var id = -1;
function addMSG(dataz) {
console.log(dataz);
}
function waitForMsg() {
console.log("start waitmsg");
$.ajax({
url: "chatxml2.php",
type: "POST",
async: true,
cache: false,
timeout: 1000,
data: {id: id, chat: '.filter_input(INPUT_GET,"id").'},
datatype: "xml",
done: function(dataz) {
//addmsg(nera reikia);
addMSG(dataz);
console.log("success");
},
fail: function(XMLHttpRequest, textStatus, errorThrown){
//addmsg("error", textStatus + " (" + errorThrown + ")");
waitForMsg();
console.log("fail");
}
});
}
$(document).ready(function(){
console.log(id);
waitForMsg();
});
出于某种原因,这并没有得到任何结果我不确定是否使用"数据:"对。 我试着寻找一段时间,但似乎我无法解决这个问题,我在js上非常糟糕。
PHP脚本100%正确地工作,用html脚本帖子尝试过。
答案 0 :(得分:1)
你的语法错了。 done
和fail
应分别为success
和error
。
所以它应该是:
$.ajax({
url: "chatxml2.php",
type: "POST",
async: true,
cache: false,
timeout: 1000,
data: {id: id, chat: '.filter_input(INPUT_GET,"id").'},
datatype: "xml",
success: function(dataz) {
//addmsg(nera reikia);
addMSG(dataz);
console.log("success");
},
error: function(XMLHttpRequest, textStatus, errorThrown){
//addmsg("error", textStatus + " (" + errorThrown + ")");
console.log("fail");
}
});
如果您想使用Deferred语法,那么它将是:
$.ajax({
url: "chatxml2.php",
type: "POST",
async: true,
cache: false,
timeout: 1000,
data: {id: id, chat: '.filter_input(INPUT_GET,"id").'},
datatype: "xml"
}).done(function() {
addMSG(dataz);
console.log("success");
}).fail(function() {
console.log("fail");
});
答案 1 :(得分:0)
替换成功完成并因错误而失败
阅读有关可用已完成和失败的延迟对象。