如何使用自定义标头进行AJAX POST跨域

时间:2012-09-13 11:42:48

标签: javascript jquery ajax cross-domain

我一直在四处寻找,但我找不到明确的答案。

我需要能够执行AJAX POST并发送自定义标头。我完全控制了客户端脚本和服务器端服务,因此如果我必须对任何一方进行任何调整以使其工作,我就能够进行这些更改。

我目前正在使用jQuery,但是如果jQuery无法做到这一点,我需要使用另一个根本不是问题的库。理想情况下,我更喜欢坚持使用单个库(jQuery),但如果能解决我的问题,我会非常乐意使用它。

目前我的代码如下:

$.ajax({
    type: 'POST',
    url: 'http://localhost:65079/TestHandler',
    crossDomain: true,
    data: myVariableOfData,
    dataType: 'json',
    beforeSend: function(xhr) {
        xhr.setRequestHeader('MessageId', 'abc123');
    },
    success: function(responseData, textStatus, messageId) {
        console.log("success");
    },
    error: function(responseData, textStatus, errorThrown) {
        console.log(textStatus);
        console.log(responseData);
        console.log(errorThrown);
    }
});

并且遗憾的是jQuery甚至没有尝试将请求发送到服务器,但是一旦我删除了标头,它就会发送请求。我真的需要这些标题,所以任何帮助都会受到高度赞赏。

请向我提出任何可能有助于解决此问题的问题,我会尽快回复,并尽可能快地回复。

1 个答案:

答案 0 :(得分:0)

冒着听起来像Siri的风险,听起来好像正在寻找如何让CORS工作......

以下是一些有望提供帮助的资源: