jquery $ .post()在IE中不起作用

时间:2012-11-07 17:42:31

标签: javascript jquery ajax internet-explorer

我知道有很多这样的问题,但我找不到答案。

以下是适用于所有浏览器的代码。但IE忽略了它。

HTML (两个提交的一个表单)

<form id="form0" method="post" accept-charset="UTF-8" 
 onsubmit="sendEmails(); return false;">
              <input id="ef" value="">
</form>

JS

function sendEmails() {

        var email = $('#ef').val();

        $('#FormValue_EmailAddress').val(email);
        $('#YMLPValue').val(email);

        $.ajaxSetup({ cache: false });          

        $.post($("#form1").attr("action"), $("#form1").serialize());
        $.post($("#form2").attr("action"), $("#form2").serialize());
}

1 个答案:

答案 0 :(得分:0)

好的问题是IE安全限制并将json添加到POST。我得到了帮助,我的 JS 更改为此变体

$.support.cors = true; // force cross-site scripting
        $.ajaxSetup({ cache: false });          

        var request = $.ajax({
            type: "POST",
            url: $("#form1").attr("action"),
            data: $("#form1").serialize(),
            sync: false,
            dataType: 'jsonp',
            crossDomain: true        
        });

        request = $.ajax({
            type: "POST",
            url: $("#form2").attr("action"),
            data: $("#form2").serialize(),
            sync: false,
            dataType: 'jsonp',
            crossDomain: true
        });

感谢Daniel)