Php Jquery Post函数返回值
我的第一个问题是这样的 我的目标是有一个简单的表单帖子,如果一切都检查出来,就继续Php Jquery Post函数返回值,php,javascript,jquery,function,post,Php,Javascript,Jquery,Function,Post,我的第一个问题是这样的 我的目标是有一个简单的表单帖子,如果一切都检查出来,就继续 $.post("anotherpage.php", $("#form").serialize(),function(data){ if(data == 'sent'){ alert("True: " + data); } else{ alert("False: " + data); } $("#somediv").text(data); }); 这里是‘anotherpage.p
$.post("anotherpage.php", $("#form").serialize(),function(data){
if(data == 'sent'){
alert("True: " + data);
} else{
alert("False: " + data);
}
$("#somediv").text(data);
});
这里是‘anotherpage.php’
<?php
echo 'sent';
?>
<?php
echo "var status='sent';";
?>
$.post("anotherpage.php", $("#form").serialize(),function(data){
alert(date);
eval(date); // its make as perfect js var string;
alert(date);
if(status == 'sent'){
alert("True: " + status );
} else{
alert("False: " + status );
}
$("#somediv").text(status );
});
这是我的问题,“#somediv”显示单词“sent”,但我的函数每次都失败。此外,当它发出警报时确实失败时,它看起来是这样的。“False:s…”这让我觉得我在这方面遇到了一些问题,但我不知道是什么造成的。这里是'anotherpage.php'
<?php
echo 'sent';
?>
<?php
echo "var status='sent';";
?>
$.post("anotherpage.php", $("#form").serialize(),function(data){
alert(date);
eval(date); // its make as perfect js var string;
alert(date);
if(status == 'sent'){
alert("True: " + status );
} else{
alert("False: " + status );
}
$("#somediv").text(status );
});
当您尝试显式地使用HTTP响应时,很容易意外地返回额外的空白,尤其是在PHP块的末尾(通常在闭合角括号之后返回回车)
一些提示:
确保在php块开始之前没有空格李>
在php块的最后一行代码中使用exit()
显式结束响应:
e、 g
关于输出控制,PHP中有一些很酷的函数。您可以缓冲、清除、存储或刷新输出 使用Firebug或Chrome尝试console.log(data)
,查看data
中的实际内容。按字面意思看是“False:s…”。您还应该确保服务器上的“sent”一词后面没有空格。尝试console.log(data.length)
并检查它是否打印出“4”,这是我看到的,但我相信整个单词都在那里,但它只显示“s…”。如果我把它改为“1234”,我会看到“1…”。只是尝试了console.log(data)
和console.log(data.length)
结果:发送和6???这是复制的回显字符串<代码>回显“已发送”代码>确保u访问路径正确???e、 i anotherpage.php或http:\domain\anotherpage.php首先:eval是邪恶的。最好返回JSON,并使用jQuery来解析它。此外,如果您将结束标记?>
保留下来,那么您就不必担心它后面的不可见空格。是的,但这会让我学究的脊梁骨发抖;)我的代码灵魂需要关闭!声明,当文件只包含PHP时,应该关闭关闭标记。我认为这是一个比退出更干净的解决方案。