Javascript $#服务器[';HTTP#u REFERER';]不工作

Javascript $#服务器[';HTTP#u REFERER';]不工作,javascript,php,Javascript,Php,我有目前的设置。。。 包含 $(document).ready(function() { $.ajax({ cache: false, type: 'GET', url: './memberfunctions/getRef.php', data: {}, beforeSend:function(){ }, success:function(data){ // successful request; do something

我有目前的设置。。。 包含

$(document).ready(function() {
$.ajax({
    cache: false,
    type: 'GET',
    url: './memberfunctions/getRef.php',
    data: {},
    beforeSend:function(){
    },
    success:function(data){
        // successful request; do something with the data
        console.log(data);
    },
    error:function(){
        // failed request; give feedback to user
        alert("idk what happened");
    }
});
});
php是

<?php

$httpReferer = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : null;

echo $httpReferer;

?>

如果我进入pastebin,键入并单击mysite.com,我会进入mysite.com,控制台显示mysite.com。很明显,我希望控制台显示pastebin.com/######


我知道HTTP_REFERER是不安全的、易受攻击的、糟糕的、不可靠的。它有一个很小的非重要用途。

对于您的AJAX请求,推荐人不是pastebin.com。您的父页面会将推荐人设置为pastebin

您可以尝试以下方式作为内联脚本:


var ref=“”;

或以下,不需要内联


var ref=文件引用人;


除非我在AJAX调用的意图中遗漏了什么。

您是否检查了浏览器是否在HTTP请求中发送了“referer”头?您可以使用开发人员工具来实现这一点。您需要在ajax请求中传递
文档。REFERER
,并查看它,而不是
$\u SERVER['HTTP\u REFERER']
当混合使用php和js时,您需要
echo
$\u SERVER['HTTP\u REFERER']谢谢@Alon,我对php不太习惯。根据您的评论更正。完美!我怀疑是这样的。