所以在我的程序中,我有两个选项卡,我正在使用表单执行post ajax请求。 在加载ajax时会出现两种不同的json 代码如下:
$('#myForm').submit(function () {
$.ajax({ // create an AJAX call...
data : $(this).serialize(), // get formdata
dataType : "json",
//async : false,
//timeout : 55000,
type : $(this).attr('method'), // GET or
// POST
url : url.A, // the file to call
success : function ( json ) {
// on success..
$('.ajaxloader').css("visibility", "hidden");
Graph = json;
draw(Graph);
}
});
$.ajax({ // create an AJAX call...
data : $(this).serialize(), // get formdata
dataType : "json",
type : $(this).attr('method'), //POST
url : url.B, // the file to call
success : function ( json ) {
// on success..
table= json;
plot(table);
}
});
}
现在,在josn到达时,我首先显示表格,查看我的其他标签,我正在以这种方式写一个onclick事件..
$(init);
function init () {
$('body').on('click', 'a.all',function(){
plot(table);
})
.on('click', 'a.domain',function(){
draw(Graph);
});
}
现在我的问题是如果我点击域,json仍然没有加载因此抛出错误, 我该如何解决这个问题..
到目前为止,我尝试async:false
(它工作正常,但显示已弃用的警告)
AjaxStop
,第一次运行良好,然后切换标签时,它只显示没有响应
我也试过,但由于我是java脚本的新手,我根本不理解其用法
答案 0 :(得分:1)
您可以尝试使用像ajaxComplete()
这样的Ajax全局事件。
var ajaxCounter = 0;
$(document).ajaxComplete(function(){
ajaxCounter++;
if(ajaxCounter == 2){
$(init);
}
});