没有收到通过AJAX POST发送到PHP

时间:2015-10-02 16:48:31

标签: javascript php jquery ajax post

我正在尝试将我的URL字符串的特定部分发送到我的php文件,然后相应地填充我的页面。除了AJAX POST方法之外,一切正常。我已经尝试在我的PHP中执行POST变量的var_dump,并且我的数组是空的(所以我知道什么都没有通过)。

成功会在通过时返回,因此我不知道数据的去向。我正在XAMPP本地测试,我已经通过SoF进行了梳理,并且在任何修复方面都没有运气。我的代码如下。

页面的屏幕截图:

enter image description here

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 "<i>hello</i>";
echo var_dump($_POST);
$url = $_POST['tom'];
json_decode($url);
echo $url;

1 个答案:

答案 0 :(得分:2)

尝试下面的内容,

除非您发送json请求,否则您不需要json_decode,并且请确保所有帖子值正在通过。

的Ajax:

$(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

PHP:

if($_SERVER['REQUEST_METHOD'] == 'POST'){
    //echo "<i>hello</i>";
    //echo var_dump($_POST);
    $url = $_POST['tom'];
    json_encode($url);
    echo $url;
}