Php jQuery Ajax if-else语句不能正确解释字符串
这是一个令人沮丧的问题,因为它涉及到一些如此基本的东西,但我正在竭尽全力想弄清楚为什么它不起作用 这是对PHP脚本的简单Ajax调用。当结果返回时,回调中有一个if-else语句,它应该给出两个可选的操作过程。出于某种原因,if语句被忽略,即使PHP脚本中的字符串似乎匹配 代码如下。PHP脚本返回字符串“nothing”,这是它应该做的。Php jQuery Ajax if-else语句不能正确解释字符串,php,jquery,ajax,if-statement,Php,Jquery,Ajax,If Statement,这是一个令人沮丧的问题,因为它涉及到一些如此基本的东西,但我正在竭尽全力想弄清楚为什么它不起作用 这是对PHP脚本的简单Ajax调用。当结果返回时,回调中有一个if-else语句,它应该给出两个可选的操作过程。出于某种原因,if语句被忽略,即使PHP脚本中的字符串似乎匹配 代码如下。PHP脚本返回字符串“nothing”,这是它应该做的。console.log显示字符串被正确地传递到jQuery脚本,但是if/else语句只是在目标中显示字符串,而不是像它应该做的那样隐藏。谁能告诉我我做错了什么
console.log
显示字符串被正确地传递到jQuery脚本,但是if/else语句只是在目标
中显示字符串,而不是像它应该做的那样隐藏
。谁能告诉我我做错了什么?我有一个可怕的怀疑,这将是一个可笑的简单
jQuery
$.ajax({
url: "getcompleted.php",
type: "POST",
data: {eMail: eMail},
success: function(data){
console.log(data)
if (data == "nothing"){
$('#completedAssessDiv').hide();
}
else {
$('#completedAssessContent').html(data);
}
}
});
PHP
检查php标记之外的任何空白
ie在
之前,我认为您应该添加数据类型:“text”
:
只需在代码中使用
exit
,如果您不返回任何内容,那么在代码之后使用exit
会更好
你的情况应该是这样的
else {
echo "nothing";
}
exit;
试试这个:
使用单引号而不是双引号,同时将“nothing”括起来,如下所示:
在JQuery中:
if (data == 'nothing'){
在PHP中:
echo 'nothing';
if($.trim(data)=“nothing”)
在成功中尝试alert(JSON.stringify(data)),并查看它包含什么console.log(“#”+data+“#”)
以检查空白
else {
echo "nothing";
}
exit;
if (data == 'nothing'){
echo 'nothing';