我正在尝试对 IIS7.5 上托管的 WCF 服务端点进行 CORS 调用。
我在 IIS 中配置了自定义标头。我的配置如下所示
<customHeaders>
<add name="Access-Control-Allow-Methods" value="GET,PUT,POST,DELETE,OPTIONS" />
<add name="Access-Control-Allow-Headers" value="x-user-session,origin, content-type, accept" />
<add name="Access-Control-Allow-Credentials" value="true" />
</customHeaders>
当我执行 POST 请求时,我收到以下错误消息“Access-Control-Allow-Headers 不允许请求标头字段 x-user-session”
如果我从调用中删除我的自定义标头并运行它,一切正常。
此外,如果我使用自定义标头进行 GET 调用,那么 API 也可以正常工作。
$.ajax({
type:"POST",
success: function(d) { console.log(d) },
timeout: 9000,
url: "http://api.myserver.com/Services/v2/CreditCard.svc/update_cc_detail",
data: JSON.stringify({"card_id": 1234,"expire_month":"11","expire_year":"2020","full_name":"Demo Account", "number":"4111111111111111","is_primary":true}),
xhrFields: { withCredentials: true},
headers: { x-user-session': "B23680D0B8CB5AFED9F624271F1DFAE5052085755AEDDEFDA3834EF16115BCDDC6319BD79FDCCB1E199BB6CC4D0C6FBC9F30242A723BA9C0DFB8BCA3F31F4C7302B1A37EE0A20C42E8AFD45FAB85282FCB62C0B4EC62329BD8573FEBAEBC6E8269FFBF57C7D57E6EF880E396F266E7AD841797792619AD3F1C27A5AE" },
crossDomain: true,
contentType: 'application/json'
});
更新
以下是 FireBug 日志的链接 https://gist.github.com/anonymous/7333130