使用Ajax将Javascript变量提交到另一个PHP文件 $(document).ready(函数(){//页面已加载。。。 var ref=document.referer;//referer var curpg=document.location.href;//当前页面URL 变量数据集='ref='+ref+'&curpg='curpg+'&shizz1e=21'; $.ajax({ 键入:“获取”, url:“http://www.domainname.com/ajaxreceiver.php", 数据:数据集 }); 返回false; });

使用Ajax将Javascript变量提交到另一个PHP文件 $(document).ready(函数(){//页面已加载。。。 var ref=document.referer;//referer var curpg=document.location.href;//当前页面URL 变量数据集='ref='+ref+'&curpg='curpg+'&shizz1e=21'; $.ajax({ 键入:“获取”, url:“http://www.domainname.com/ajaxreceiver.php", 数据:数据集 }); 返回false; });,javascript,jquery,ajax,Javascript,Jquery,Ajax,我正在尝试在页面加载后立即将“curpg”、“ref”和“shizz1e”变量提交到ajaxreceiver.php,无需任何用户干预。我还试图避免页面刷新或将客户端重定向到ajaxreceiver.php。我不知道为什么这个代码不起作用;dataSet变量永远不会发送到ajaxreceiver.php。如果要将URL作为参数发送,则必须使用or函数对其中的某些字符进行转义。1)确保您的请求确实发送了-检查网络选项卡并添加这些处理程序以获得一些调试帮助: <script type="tex

我正在尝试在页面加载后立即将“curpg”、“ref”和“shizz1e”变量提交到ajaxreceiver.php,无需任何用户干预。我还试图避免页面刷新或将客户端重定向到ajaxreceiver.php。我不知道为什么这个代码不起作用;dataSet变量永远不会发送到ajaxreceiver.php。

如果要将URL作为参数发送,则必须使用or函数对其中的某些字符进行转义。

1)确保您的请求确实发送了-检查网络选项卡并添加这些处理程序以获得一些调试帮助:

<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">

$(document).ready( function () { //The page has been loaded...
    var ref = document.referrer; //Referrer
    var curpg = document.location.href; //Current page URL
    var dataSet = 'ref=' + ref + '&curpg=' curpg + '&shizz1e=21';

    $.ajax({
        type: "GET",
        url: "http://www.domainname.com/ajaxreceiver.php",
        data: dataSet
    });
    return false;
});
</script>
2) 你是不是不小心做了一件违禁的事<代码>http://www.domainname.com和
http://domainname.com
是导致此问题的常见示例。改用实路径:
/ajaxreceiver.php
就足够了


3) 提供您的php代码,以便我们可以检查其中的错误。可能是您不小心使用了
[POST]
或类似的小错误。

我必须查看您的服务器端PHP代码,因为您的JavaScript代码在我看来还行。我认为应该行得通

尝试这样重写,不过:


$(文档).ready(函数(){
var referer=document.referer;
var current_page_url=$(位置).attr('href');
变量数据对象={
“ref”:推荐人,
“curpg”:当前页面url,
‘shizz1e’:‘21’
};
$.ajax({
“url”:“http://your.url.com/php_script.php",
“数据”:数据对象,
“成功”:函数(返回\u数据){
//为成功做点什么。
}
});
});

在我看来,这只是稍微干净了一点。请展示一些服务器端PHP代码,这样我才能真正帮助您找出哪里出了问题。

什么可以确保变量从未发送过?在webdev工具的“网络”选项卡中是否看到任何请求?php脚本是什么样子的?1)编辑:nevermind,在这一部分中,将在一秒钟内返回报告。2) 没有,检查了这些,甚至尝试将所有内容更改为相对路径。仍然不起作用。3) 正在清理它以便我可以发布。@user1610772您的问题有进展吗`
$.ajax({/*...*/})
   .done(function()  { console.log("success"); })
   .fail(function(jqXHR, status)  { console.log("error: "+status); })
   .always(function(){ console.log("complete"); });