PHP发布变量显示在DOM但不在页面上?

时间:2015-01-21 11:10:38

标签: php ajax post request

我首先有两个文件是a.php,第二个是b.php(弹出窗口)

在a.php中我通过ajax发布数据

    $.post("b.php",{cat:"hello"},function(result){
        console.log(result);
    });

在b.php我正在使用

$cat = $_POST['cat'];
echo $cat;

在a.php的DOM中,显示“hello”,但在b.php中它是空白的。为什么???

在a.php我正在使用

$('div#showrqmt').on('click',function(){

    $.post("b.php",{cat:"hello"},function(result){
        console.log(result);
    });
});

<div class="upbtntopmain uploadaudio"  href="javascript:void(0)"     id="showrqmt"><a class="pnkbtnb_n">Show Requirments</a></div> (this will popup     b.php)

在ajax的响应文本中,后期数据(“hello”)显示但不在php

在b.php我用过

$cat = $_REQUEST['cat']; // not working
$cat = $POST['cat']; //not working
echo $cat // for both case not working...

2 个答案:

答案 0 :(得分:-1)

如果您的意思是在浏览器中访问b.php,那么它将是空白的,因为您正在发出GET请求而不是POST请求。

您可以更改$cat = $_REQUEST['cat'];,然后如果您在网址中提供该邮件,则会{ b.php?cat=hello但如果您想将其保留为POST请求,那么您无法通过浏览器单独执行此操作。

请参阅HTTP Methods: GET vs. POST

答案 1 :(得分:-1)

尝试添加 dataType - 文字。见http://api.jquery.com/jquery.post/