Async ajax请求w / jQuery冻结了Chrome

时间:2012-11-04 15:59:47

标签: jquery ajax google-chrome request

所以我正在做一个非常基本的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);
    });

2 个答案:

答案 0 :(得分:2)

我不认为它是ajax电话。我看到类似的情况,浏览器窒息,创建ajax数据参数很昂贵。根据您进行循环/ dom遍历的方式,性能可能会因浏览器而异。要进行验证,请尝试提交ajax请求,而不进行创建数据参数的工作。

答案 1 :(得分:0)

async: true,之后你有一个逗号...是故意的吗?