jQuery Form post不适用于IE8

时间:2014-05-13 15:59:22

标签: jquery post internet-explorer-8

我尝试做几天以来的事情,但它仍然无效。所以我想用IE8在跨域域做一个帖子请求。我需要发送多部分数据。   经过几次研究,我做到了:

var form = document.createElement("form");
form.id = "myform";
form.action = url;
form.method = "post";
form.enctype = "multipart/form-data";
form.encoding = "multipart/form-data";
form.style.display = "none";

for (var p in properties) {
    var f = document.createElement("input");
    f.type = "text";
    f.name = p;
    f.value = properties[p]; 
    form.appendChild(f);
}

document.body.appendChild(form);

var options = { 
    success : function(data)  { 
            console.log('success :  ' + data);
        },
    error   : function(responseText, statusText, xhr, $form) { 
            console.log('error : ' + statusText);
        };


    $("#myform").submit(function() { 
        $(this).ajaxSubmit(options); 
        return false; 
    }); 

    $("#myform").submit();

基本上,我使用jquery.form在跨域发送多部分数据。使用Chrome和FF,它的工作非常完美。我收到了一个字符串json,因为application / json不能与IE8一起工作,响应在内容类型中有text / html。

但我不明白为什么但是使用IE成功的“数据”是我的页面html。我试着理解为什么,但我没有发现。

success :  
<SCRIPT type=text/javascript src="lib/jquery-1.11.0.min.js"></SCRIPT>

<SCRIPT type=text/javascript src="lib/jquery-ui-1.10.4.min.js"></SCRIPT>

<SCRIPT type=text/javascript src="lib/jquery.form.js"></SCRIPT>

<SCRIPT type=text/javascript src="lib/json2.js"></SCRIPT>
<BUTTON id=action1 onclick=local() type=submit>Local - GET</BUTTON><BR><BUTTON id=action2 onclick=remoteG() type=submit>Remote - GET</BUTTON><BR><BUTTON id=action3 onclick=remoteP() type=submit>Remote - POST</BUTTON><BR><INPUT id=mylabel type=text>
<SCRIPT>
        remoteP = function() {

            .....

 </SCRIPT>
<FORM style="DISPLAY: none" id=myform encType=multipart/form-data method ...></FORM>

另外,如果我在$(“#myform”)。submit()之外的末尾执行form.submit(),它会打开一个包含好内容的新页面,因此它证明请求已正确完成,但我不知道如何得到它。

我不知道我能做些什么来使它有效,所以我需要你的帮助。

谢谢,

亚历

0 个答案:

没有答案