jQuery Ajax(post),PHP没有收到数据

时间:2014-03-23 15:16:57

标签: php jquery ajax json

下面的Ajax函数将数据从页面发送到由PHP解释的页面。

使用Firebug,我们可以看到数据已发送,但PHP页面未收到。如果我们将它更改为$ .get函数并使用PHP _GET数据然后它可以工作。

为什么它不适用于$ .post和$ _POST

$.ajax({
            type: "POST",
            url: 'http://www.example.com/page-in-question',
            data: obj,
            success: function(data){ alert(data)},
            dataType: 'json'
            });

4 个答案:

答案 0 :(得分:0)

如果有问题,可能在你的php页面中。 尝试直接在浏览器中浏览php页面并检查输出是什么。 如果您需要来自post的一些输入,只需将其更改为GET以进行调试

答案 1 :(得分:0)

试试这个

var sname = $("#sname").val();
var lname = $("#lname").val();
var html = $.ajax({
        type: "POST",
        url: "ajax.class.php",
        data: "sname=" + sname +"&lname="+ lname ,
        async: false
        }).responseText;

        if(html)
        {
            alert(html);
            return false;
        }
        else
        {
            alert(html);
            return true;
        }

alax.class.php

<php
echo $_REQUEST['sname'];
 echo $_REQUEST['sname'];
?>

答案 2 :(得分:0)

同一页面上的Ajax无法通过POST等显示数据,因为PHP已经运行了这就是为什么你通常会使用外部页面来处理你​​的数据,然后使用ajax来获取响应。

示例

 success: function(){
      $('#responseDiv').text(data);
 }

答案 3 :(得分:0)

您正在发布数据...检查目标是否正在返回某些数据。 如果它返回一些数据,那么只有你才能看到数据。

添加成功和错误..这样你就可以得到什么

success: function( data,textStatus,jqXHR ){
console.log(data);//if it returns any data
console.log(textStatus);//or alert(textStatus);
}

error: function( jqXHR,textStatus,errorThrown ){
console.log("There is some error");
console.log(errorThrown);
}