【发布时间】:2012-01-22 05:23:55
【问题描述】:
我正在查询一个使用自定义 http 标头进行身份验证的 REST Web 服务。
如果我在没有标头的情况下执行 POST,我会收到预期的错误,但是当我添加标头时,我会收到 404 错误,而不是我实际需要的错误。
这是我的代码
$.ajax({
type: 'POST',
url: 'http://server.com/service',
beforeSend: function (xhr) { xhr.setRequestHeader('CUSTOM-HEADER-KEY', 'CUSTOM-HEADER-VALUE') },
success: function(data) {
alert('success.');
}
});
这是萤火虫标头输出:
选项 /service HTTP/1.1 主机:server.com 用户代理:Mozilla/5.0 (Windows NT 6.1; WOW64; rv:8.0.1) Gecko/20100101 Firefox/8.0.1 接受:text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8 接受语言:en-us,en;q=0.5 接受编码:gzip,放气 接受字符集:ISO-8859-1,utf-8;q=0.7,*;q=0.7 连接:保持活动 产地:无 访问控制请求方法:POST 访问控制请求标头:自定义标头键 Pragma:无缓存 缓存控制:无缓存
以及使用海报执行帖子时的 smae 标头,返回所需的结果。
POST /service HTTP/1.1 主机:server.com 用户代理:Mozilla/5.0 (Windows NT 6.1; WOW64; rv:8.0.1) Gecko/20100101 Firefox/8.0.1 接受:text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8 接受语言:en-us,en;q=0.5 接受编码:gzip,放气 接受字符集:ISO-8859-1,utf-8;q=0.7,*;q=0.7 连接:保持活动 CUSTOM-HEADER-KEY:CUSTOM-HEADER-VALUE Pragma:无缓存 缓存控制:无缓存 内容长度:0
区别很明显,但我不知道我在jquery代码中做错了什么。
谁能帮帮我?
【问题讨论】:
-
您是否正在跨服务器发送此
POST请求? -
Blender 走上了正轨。这很可能是沙盒违规。通过 jsonp 访问服务或使用您的服务器作为服务的代理。
-
“和 smae 标头在执行带有海报的帖子时”.. 什么是“海报”?