我尝试做几天以来的事情,但它仍然无效。所以我想用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(),它会打开一个包含好内容的新页面,因此它证明请求已正确完成,但我不知道如何得到它。
我不知道我能做些什么来使它有效,所以我需要你的帮助。
谢谢,
亚历