我在使用jQuery ajax JSON(或JSONP)请求发送一些自定义标头时遇到问题。
代码如下所示:
$.ajax({
beforeSend: function(xhr) {
xhr.setRequestHeader("X-VER", VER);
xhr.setRequestHeader("X-TIMESTAMP", now);
},
type: 'GET',
data: null,
url: site_uri,
dataType: 'jsonp',
success: function(msg){$(selector).html(msg);}
});
Firebug没有显示自定义标题。此外,网址随jsonp更改(我可以更改吗?)
修改
我发现它可能违反http://en.wikipedia.org/wiki/Same_origin_policy,但不知道如何修复它(脚本不能在同一个域中)。
感谢您的帮助
答案 0 :(得分:1)
如果您有服务器访问权限,则解决方案为HTTP access control modification。否则,最好的想法可能是某种反向代理解决方案,我不知道Firefox之外的支持访问控制有多好。
答案 1 :(得分:0)
jsonp 不是XHR(您只是将脚本元素添加到头部),模拟XHR。因此,您无法设置自定义标头。