所以我正在做一个非常基本的ajax请求,但我无法在chrome中使其成为非阻塞。这个请求有什么问题吗? IE处理得很好,但铬完全冻结了几秒钟。 chrome停止冻结后会触发超时事件。
setTimeout(this.onExtendedSaveTimeCallback, 1000);
this.isSaving = true;
this.request = $.ajax({
url: 'http://same-origin.com',
type: 'POST',
dataType: 'html',
data: data,
async: true,
});
this.request.done(function(response) {
self.isSaving = false;
self.$rootElement.find('.save').removeClass('saving');
if(response != "SUCCESS")
{
// The input did not pass validation
// Show the error message
self.$rootElement.find('.edit-mode-content').prepend(response);
self.$rootElement.find('.error').slideDown(200);
self.$rootElement.find('.save').html('Spara');
self.unblockRowInput();
}
else
self.close(true);
});
答案 0 :(得分:2)
我不认为它是ajax电话。我看到类似的情况,浏览器窒息,创建ajax数据参数很昂贵。根据您进行循环/ dom遍历的方式,性能可能会因浏览器而异。要进行验证,请尝试提交ajax请求,而不进行创建数据参数的工作。
答案 1 :(得分:0)
async: true,
之后你有一个逗号...是故意的吗?