AJAX提交到PHP文件而不返回数据

时间:2015-10-23 08:09:16

标签: javascript php jquery ajax

当我尝试通过AJAX将数据提交到PHP文件时,提交工作正常,我可以回显PHP文件中的消息。但是,当我尝试回显我提交的数据时,或回显一条确认数据与PHP文件中的另一个变量匹配的消息(它确实如此),我仍然得到一条成功消息,但它说数据是不一样。

我对发展很陌生并且有点挣扎。任何帮助都是超级的。

AJAX

$.ajax({
    type: "POST",
    url: "/check-cust.php",
    data: "1234",
    success: function(data) {
        if (data == "") {
            console.log("success, but no return");
        } else {
            alert(data); // show response from the php script.
        }
    },
    error: function() {
        alert("not working");
    }
});

PHP

$temp_cust_id = "1234";

$data = $_POST['data'];

if ($data == $temp_cust_id) {
    echo "it works";
} else {
    echo "it doesnt work";
}

是否可能是因为我提交的JSON数组与字符串变量不同?这只是一个猜测!

4 个答案:

答案 0 :(得分:2)

这个错误的data: "1234",应该是:

data: {
 data : 1234
}

或者给出一个更好的名字:

data: {
  myData : 1234
}

在服务器端:

$_POST['myData'];

使用查询字符串的另一种方式如下:

data : 'myData=Hello',
// or data : 'firstParam=Hello&secondParam=Mate',

答案 1 :(得分:2)

您发送数据的方式是错误的,

data: {"data","1234"}
        ^      ^
        name    value

把它全部整理好,

$.ajax({
    type: "POST",
    url: "/check-cust.php",
    data: {data:"1234"},// this the line in which you have error.
    success: function(data) {
        if (data == "") {
            console.log("success, but no return");
        } else {
            alert(data); // show response from the php script.
        }
    },
    error: function() {
        alert("not working");
    }
});

然后在php文件中,

$temp_cust_id = "1234";

$data = $_POST['data'];

if ($data == $temp_cust_id) {
    echo "it works";// it will echo this for current output.
} else {
    echo "it doesnt work";
}

答案 2 :(得分:1)

用于比较字符串strcmp

AJAX

data: {"data":"1234"}

PHP

if (!strcmp($data,$temp_cust_id))
    echo "it works";

答案 3 :(得分:1)

post_data='1234';

 $.ajax({
    type: "POST",
    url: "/check-cust.php",
    data: "post_data="+post_data, //-------->>>Pass the data like this
success: function(data) {        
  if (data == "") {  
  console.log("success, but no return");


   } else {


  }

在php文件中使用:

$_POST['post_data'];