每次我执行Ajax请求时,我都希望服务器检查数字是否为1,3或5,并根据结果回显出答案。问题是,我的data
中没有alert();
。这是我的代码:
AJAX:
ajaxNumber= $.ajax({
url: "operations.php",
type: "post",
data: ile,
success: function(data){alert(data);}
});
PHP:
if(isset($_POST['ile'])) {
$numer = intval($_POST['ile']);
if($numer==1|$numer==3|$numer==5) {
echo "ok";
} else {
echo "ERROR";
}
}
alert();
正在显示,但它只是空的。
编辑:我自己运行operations.php
并给予$ _POST [' ile']一个现有值,这让我得到了很好的回应。
答案 0 :(得分:2)
您没有设置 ile 名称,因此$ _POST [' ile']为空,请尝试以下操作:
ajaxNumber= $.ajax({
url: "operations.php",
type: "post",
data: {'ile':ile},
success: function(data){alert(data);}
});
答案 1 :(得分:1)
基本上,你不能将ile
传递给值1,3或5。
更改您的代码,如下所示:
var ile = 1;// just a example so I assign 1 to variable `ile`
var postData = {'ile': ile};
$.ajax({
url: "operations.php",
type: "post",
data: postData,
success: function(response){
alert(response);
}
});
JQuery文档说数据是
要发送到服务器的数据。它将转换为查询字符串。
键入:PlainObject或String或Array
这就是为什么你不能直接发送1,3或5,它应该是{name1: value, name2: value2}
之类的对象或像'name1=value1&name2=value2'
这样的查询字符串
<强> 修改 强>
查看你的php代码,在if
条件下请使用逻辑OR ||
,就像其他人在评论中说的那样。