我有一个简单的页面
$.ajax({
url: "abc.php",
type: "POST",
async: false,
dataType: 'json',
data: { 'json': JSON.stringify(match) , 'source': source} ,
success: function(response){
alert("Alert 1");
}
});
alert("hello");
location.reload();
它始终以"hello"
提醒,我也尝试fail:
,但无法找到正确的结果。
请帮助我这方面
答案 0 :(得分:3)
问题是你发送请求后,你正在重新加载页面 - 而不是等待ajax请求的响应回来。
解决方案是在ajax请求成功/完成回调
上重新加载$.ajax({
url: "abc.php",
type: "POST",
async: false,
dataType: 'json',
data: { 'json': JSON.stringify(match) , 'source': source} ,
success: function(response){
alert("Alert 1");
}
}).fail(function(xhr, status, error){
alert('error:' + status + ':' + error+':'+xhr.responseText)
}).always(function(){
location.reload();
});
答案 1 :(得分:0)
如果这是您的完整代码,那么您没有时间执行您的ajax调用abc.php。您只需刷新页面而无需等待ajax响应。
来自Jquery doc, Ajax中的第一个字母代表“异步”,意味着操作并行发生,并且无法保证完成顺序。