我真的不知道我的代码有什么问题。我想将AJAX请求的结果存储在变量中。结果是IMG Url我想要预加载它。
$.ajax({
type: "POST",
url: 'code/submit/submitGetUserData.php',
data: 'id=' + right1,
complete:function(jqXHR,status){
preloadLeft = new Image();
preloadRight.src = jqXHR.responseText;
console.log('src='.preloadRight.src);
}
});
但变量是未定义的 - >除非我将请求设置为异步,否则JS不会将结果存储在变量中。但那花了太多时间......
我希望有人能帮助我! :)
答案 0 :(得分:0)
尝试使用成功来阅读ajax响应。
试试这个:
$.ajax({
url: 'code/submit/submitGetUserData.php',
type: 'POST',
cache: false,
contentType: 'application/json',
data: 'id=' + right1,
success: function (data) {
console.log(data);
},
error: function (request, xhr) {
alert(request.responseText);
},
complete: function () {
}
});
观察返回ajax调用时数据对象包含的内容。
希望它有所帮助,
里卡多
答案 1 :(得分:0)
您使用错误的语法传递数据并始终添加成功函数,并且还始终添加错误处理函数,以便您可以从服务器端知道ajax调用是否失败。
这样做:
var preloadLeft;
$.ajax({
type: "POST",
url: 'code/submit/submitGetUserData.php',
data: {id: right1},
success:function(jqXHR,status){
preloadLeft = new Image();
preloadRight.src = jqXHR.responseText;
console.log('src='.preloadRight.src);
},
error: function(){
alert("error occured");
}
});