当我尝试通过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数组与字符串变量不同?这只是一个猜测!
答案 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)
答案 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'];