Javascript 未接收通过AJAX POST发送到PHP的值

Javascript 未接收通过AJAX POST发送到PHP的值,javascript,php,jquery,ajax,post,Javascript,Php,Jquery,Ajax,Post,我正在尝试我正在尝试发送我的URL字符串的特定部分到我的php文件,然后相应地填充我的页面。除了AJAX POST方法外,一切都很正常。我在PHP中尝试过对POST变量进行var_转储,但我的数组是空的(所以我知道没有任何东西可以通过) 成功确实会在传递时返回,因此我不知道数据将流向何处。我正在XAMPP上进行本地测试,我已经浏览了SoF,但在任何修复上都没有运气。我的代码如下 页面的屏幕截图: jQuery AJAX请求: $(document).ready(function() {

我正在尝试我正在尝试发送我的URL字符串的特定部分到我的php文件,然后相应地填充我的页面。除了AJAX POST方法外,一切都很正常。我在PHP中尝试过对POST变量进行var_转储,但我的数组是空的(所以我知道没有任何东西可以通过)

成功确实会在传递时返回,因此我不知道数据将流向何处。我正在XAMPP上进行本地测试,我已经浏览了SoF,但在任何修复上都没有运气。我的代码如下

页面的屏幕截图:

jQuery AJAX请求:

$(document).ready(function() {
    str = window.location.href;
    pos = str.search("pages/"); //42
    send = str.slice(42, -5);
    console.log(send);
    console.log(pos);
    $.ajax({
        type: "POST",
        url: "retrieve.php",
        data: {
            tom: send
        },
        success: function() {
            $.get("retrieve.php", function(data, status) {
                    $("#main").html(data);
                }) //ends GET function   
        },
        error: function() {
            console.log(arguments)
        }
    }); //ends POST request               
}); //ends DOC-READY function
PHP:

echo“hello”;
回显变量转储($\u POST);
$url=$_POST['tom'];
json_解码($url);
echo$url;
试试下面的方法

另外,除非发送json请求,否则不需要对json进行解码,请确保所有post值都已传递

阿贾克斯:

PHP:

if($\u服务器['REQUEST\u METHOD']=='POST'){
//回音“你好”;
//回显变量转储($\u POST);
$url=$_POST['tom'];
json_编码($url);
echo$url;
}

您是否尝试过简化代码,以便简化基本步骤。也许试着在页面上发布一些基本的内容,看看你是否得到了预期的结果。嘿,是的,我正在创建网页,我只需要从数据库中检索数据,根据URL填充页面上的某些字段。为了确保GET请求正常工作,我让它将php文件中的数据返回到页面上,这样就可以了。这只是POST不工作。请尝试观察控制台中的
POST
请求,并确保数据正在发送。如果
tom
的值为
null
,则可能会导致问题。@camelCase:我到底应该记录到控制台什么?我在前面的代码中用console.log(send)记录了“tom”的值;是你在看浏览器控制台吗?有错误吗?如果没有,帖子肯定发生了吗?另外,如果使用wordpress或类似工具,“results.php”通常不在运行代码的浏览器的目录中,即使javascript位于同一位置。过几天我回到办公桌时,我会尝试一下。感谢您的回答。快速问题:当您说“检查post值是否正在传递”时,您是在要求我确保“发送”变量中包含有效数据,还是在服务器端(如果我正在获取values@JustinE.Samuels我在问send变量的数据是否正确。是的,我查过了。嘿,还是没有骰子。同样的结果。这真的很奇怪,因为我已经一遍又一遍地查看JQuery文档,而且所有内容似乎都是正确的
echo "<i>hello</i>";
echo var_dump($_POST);
$url = $_POST['tom'];
json_decode($url);
echo $url;
$(document).ready(function() {
    var str = window.location.href;
    var pos = str.search("pages/"); //42
    var send = str.slice(42, -5);
    console.log(send);
    console.log(pos);
    $.ajax({
        type: "POST",
        url: "retrieve.php",
        data: {
            'tom': send//make sure this is not empty
        },
        success: function(data) {
            console.log(data);
        },
        error: function(arguments) {
            console.log(arguments)
        }
    }); //ends POST request               
}); //ends DOC-READY function
if($_SERVER['REQUEST_METHOD'] == 'POST'){
    //echo "<i>hello</i>";
    //echo var_dump($_POST);
    $url = $_POST['tom'];
    json_encode($url);
    echo $url;
}