【发布时间】:2016-02-25 16:54:26
【问题描述】:
我正在尝试从包含 dataTables 表的页面加载 jQueryUI 模式窗口。模式窗口的按钮位于数据表中的一行上。另一个不在 dataTable 上的模式按钮有效。我得到了错误:
主线程上的同步 XMLHttpRequest 已被弃用,因为它会对最终用户的体验产生不利影响。如需更多帮助http://xhr.spec.whatwg.org/
我真的很难理解这意味着什么以及如何处理它。这是我的代码:
var recdt = $('#LettTable').DataTable({
"paging": false,
});
//******Modal edit letter text form
//Following is for popups for simple forms================
var edit_let_url;
$("#edit-let-modal").dialog({
autoOpen: false,
height: 500,
width: 500,
modal: true,
//async:true,
buttons: {
"Save": function() {
$.post(edit_let_url,
$('#edit-let-form').serializeArray(),
function(data) {
if (data) {
//pass ex_id as data for preview redirect
window.location.href = "/app/letters_config/";
} else {
alert('Did not save');
$('#edit-let-form').html(data);
}
})
$(this).dialog("close");
},
Cancel: function() {
$(this).dialog("close");
}
}
});
$('#LettTable').on('click touchstart', '.edit_lett', function() {
//$('.edit_lett').click( function (){
edit_let_url = $(this).attr('name');
$("#edit-let-modal").load(edit_let_url).dialog("open");
});
【问题讨论】:
-
您展示的代码中没有同步的AJAX请求,所以我们无法为您提供相关的问题解决方案。也就是说,通常这是由在
$.ajax()请求上使用async: false引起的。您应该删除该属性并将任何依赖于返回数据的代码放在回调函数中。 -
我想我记得有人遇到过这种情况,如果您正在加载的页面正在执行一些
-
你们知道我如何搜索任何有同步 Ajax 请求的地方 - 就像我说的那样,我认为这是在 dt 或对话框代码中 - 因为它只出现在 dt 上的对话框按钮上
标签: jquery ajax jquery-ui datatables