如标题所述,我有一个ajax调用。关于success函数,我想将返回的数据存储到一个变量中,以便在我的javascript中使用。randNum.php只是每2秒返回一个随机数,我想在脚本中的其他函数中使用这个数字。如何在javascript中使用从php文件发回的数据?我知道有更合乎逻辑的方法可以做到这一点,但我想知道如何以这种方式完成任务。
var result;
var interval = 2000;
function myCall() {
var request = $.ajax({
url: "randNum.php",
type: "GET",
dataType: "html",
success:function (msg) {
result = msg; //Not working as I intend
setTimeout(myCall, interval);
}
});
}
function(){
do something with result;
}
在函数外部声明一个全局变量,并在ajax响应之后将响应变量分配给它。
var results;
function TestJSONP(){
$.ajax({
url: "randNum.php",
jsonp: "callback",
dataType: "jsonp",
success: function (response) {
console.log(response);
results = response;
}
});
}
您可能不需要指定dataType
,而是使用jqXHR.responseText
来获取原始响应。类似的东西
function myCall() {
var request = $.ajax({
url: "randNum.php",
type: "GET",
success:function (data, textStatus, jqXHR) {
result = jqXHR.responseText;
setTimeout(myCall, interval);
}
});
}
当您设置了dataType
,并且响应不是那种类型时,那么ajax没有成功,将调用error
回调。