我需要通过ajax(而不是json)向另一个域提交表单,但不断收到错误
XMLHttpRequest cannot load http://some.other.domain/. Origin http://localhost:8081 is not allowed by Access-Control-Allow-Origin.
有没有办法“修复”这个?
$.ajax({
type: "POST",
dataType: "text/html",
data: $("#surveyForm").serialize(),
crossDomain: true,
url: "http://some.other.domain",
processData: false,
error: function (jqXHR, textStatus, errorThrown) {
},
success: function (response) {
}
});
答案 0 :(得分:1)
您最好的选择可能是设置proxy server。您不能使用JSON-P,因为您正在进行表单POST,并且您无法使用CORS,因为您无法控制远程域上的标头。
答案 1 :(得分:0)
我认为将数据发送到跨域你必须使用数据类型作为JSONP。你无法发布整个表格。我的下面代码对我来说正常工作(希望这会对你有帮助)
$.ajax({ url: "MYURL",
data: {
paxMessage: JSON.stringify(paxMessage)
},
contentType: "application/json; charset=utf-8",
dataType: "jsonp",
success: function(data) {
alert("Data Submitted successfully");
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
alert(textStatus);
}
});