使用jquery 1.7进行同步POST

时间:2017-12-11 02:29:50

标签: javascript jquery internet-explorer-8

我正在尝试使用IE8兼容性制作Web应用程序。我遇到的问题是同步POST方法。

由于一个原因,我使用了以下代码和jquery 3.x

console.log("First console log");
$.ajax(
    url: '/Main/SomeUrl',
    method: 'POST',
    async: false,
    data: objData,
    success: function (result) {
        'some process after success synchronously'
        console.log("Second console log");
    }
);

当我开始检查IE版本兼容性时,上面的代码在其他浏览器中运行良好。但是在 IE8 中使用 jQuery 1.7.2 (因为使用jquery.form发送文件,我使用1.7.2),

console.log("First console log")

出现但

console.log("Second console log")

不是。这意味着,我猜,jQuery的ajax无效。

有没有办法在IE8中使用jquery 1.7.2或javascript代码在IE8和Chrome中同步POST?谢谢你的有趣!

2 个答案:

答案 0 :(得分:1)

我有类似的问题。 我想尝试几种方法。

-

1。 包含jQuery的迁移版本。当我使用它时,我已经在旧版本的IE中解决了一些问题。

http://code.jquery.com/jquery-migrate-1.2.1.js"

2。 为IE设置ajax。

jQuery.ajaxSetup({
                xhr: function() {
                        try{
                            if(window.ActiveXObject)
                                return new window.ActiveXObject("Microsoft.XMLHTTP");
                        } catch(e) { }

                        return new window.XMLHttpRequest();
                    }
            });

3。 设置dataType。

$.ajax(
    url: '/Main/SomeUrl',
    method: 'POST',
    async: false,
    data: objData,
    dataType: "json",
    success: function (result) {
        'some process after success synchronously'
        console.log("Second console log");
    }
);

答案 1 :(得分:1)

IE8似乎并不完全支持CORS - http://mcgivery.com/ie8-and-cors/ 这可能是你的问题。

您应该能够使用此脚本来解决问题。 https://github.com/MoonScript/jQuery-ajaxTransport-XDomainRequest

只需将脚本添加到HTML中,然后像往常一样调用ajax请求。插件应该在后台处理所有转换。