php中的变量值在通过javascript时不会打印

时间:2017-06-02 23:34:47

标签: javascript php jquery ajax

我通过javascript AJAX请求传递变量,但没有在php文件中获取它来打印。 JS代码:

        var build = {
        m_count : (document.getElementById('count').value)
        }
        $.ajax({
        data: build,
        type: "POST",
        url: "tabs.php",
        success: function(data) {

        console.log(data);
        }
        }); 

PHP代码:

<?php

$module_c= $_POST['m_count'];
echo "module_c";

var_dump($_POST);

?>

console.log的输出很奇怪,因为它在控制台中显示了整个tabs.php文件。 var_dump($_POST);的输出是数组(0){}。 不知道我哪里出错了,请帮忙.. THAnks

1 个答案:

答案 0 :(得分:0)

我想我明白你要解决的问题。也许尝试对代码进行这些更改:(注意dataType:“json”。这告诉AJAX发送回的服务器将是JSON。)

    var build = {
    m_count : (document.getElementById('count').value)
    }
    $.ajax({
    data: build,
    dataType: "json",
    type: "POST",
    url: "tabs.php",
    success: function(data) {

    console.log(data);
    }
    }); 

和tab.php。 注意json_encode()。你的ajax应该想要一个JSON响应,之后什么都不需要。所以没有var_dump。您可以将POST放在JSON中。

<?php

$module_c= isset($_POST['m_count']) ? $_POST['m_count'] : 0;
//Now add 5 to count. To test calculation.
$module_c= $module_c + 5;
header("Content-type: application/json");
echo json_encode(array("module_c" => $module_c, "POST" => $_POST));

?>