我需要从其他域创建JSON
ajax request
。在我认为我克服了跨域问题之后,我就陷入了困境:
我需要添加自定义“myCustomHeader
”标题 - 从server
开始这很容易,但client
...
我们添加了它们
$.ajax({
type: 'POST',
data: put the results of your header request here,
url: 'http://server.com/service',
beforeSend: function (xhr) {
xhr.setRequestHeader('myCustomHeader', '1')
},
success: function(data) {
alert('success.');
}
});
这会生成一个preflight
标题,其中包含我想要的标题,而不是values
(CSV
),但它们不会出现在request
本身的标题中(作为myCustomHeader=X
)...
答案 0 :(得分:1)
您可以将CORS用于此目的。
示例代码:
jQuery.support.cors = true;
function CrosDom_ajax(url) {
if (window.XDomainRequest
&& $.browser.msie
&& $.browser.version < 10) {
xdr = new XDomainRequest();
if (xdr) {
xdr.onload = function () {
alert(xdr.responseText);
};
xdr.open("get", url);
xdr.send();
}
}
else {
$.ajax({
url: url,
success: function (response) {
},
error: function (data) {
}
});
}
}
您还需要在服务器端编写以下代码,以允许跨域访问
Response.AppendHeader("Access-Control-Allow-Origin", "*");