更改Ajax POST的引用者

时间:2011-11-22 17:53:52

标签: javascript ajax jquery http-headers

任何人都知道如果使用jquery或一般的javascript,我可以在http ajax调用中从头部更改引用者?

基本上我希望它从我的页面发送,但是从另一个页面有一个推荐人。任何信息都会很棒。

4 个答案:

答案 0 :(得分:46)

浏览器将始终为我已完成的测试覆盖引荐来源。这意味着您无法更改ajax调用的引用者。

答案 1 :(得分:6)

您可以使用.setRequestHeader( 'referer', 'foo' ),但我不确定浏览器是否会将其替换为正确的浏览器。

通过jQuery,.ajax()方法也允许标题(.get().post()不这样做)

请注意,执行此操作几乎没有意义,因为您无法执行跨域AJAX,甚至尝试执行此操作可能会在某些浏览器中触发XHR安全规则并完全停止请求。

答案 2 :(得分:2)

您可以随时使用:

jQuery.ajaxSetup({
    'beforeSend': function(xhr) {xhr.setRequestHeader("header key", "header value")}
})

但是当然,浏览器可以对引用标题有不同的看法。 这应该测试:))

答案 3 :(得分:0)

您无法使用jQuery来做到这一点,但是您可以 CAN 来做到这一点

不确定它是否适用于跨域请求(显然,您至少需要CORS权限),但确实适用于同一域+此示例中的不同页面

fetch("http://example.com",{"referrer":"http://example.com/inbox","body":"{\"format\":\"root\"}","method":"POST"});