我在使用我的代码找不到解释时遇到了麻烦。 在回复来自php的值并通过“回复”#39; 在jquery中,我试图比较响应值的字符串..
不工作:
success:function(response)
{
if (response=='added successfully')
{
alert("");
}
},
我通过提出“回应”来找到互联网上的解决方案。在$ .trim()中。我发现的其他解决方案是放置' exit();' 在PHP中回显值之后..
工作
success:function(response)
{
if ($.trim(response)=='added successfully')
{
alert("");
}
},
和
if ($resultset)
{
echo 'added successfully';
exit();
}
任何人都可以说出为什么第一个代码不起作用(希望有一种简单的方法来解释它)?
答案 0 :(得分:0)
当你进行ajax调用时说“echofile.php”,作为回应它会给你空的前导和尾随空格。在jsp
中,它有一个页面指令来修剪输出。 <%@ page trimDirectiveWhitespaces="true" %>
或者您可以在jquery成功回调函数中修剪响应。
要确认我的观点,您可以在“不工作”代码中提醒。它肯定会有一个领先或尾随的空间。所以你必须在客户端或服务器端修剪它
答案 1 :(得分:-1)
最有可能在脚本末尾的?>
之后有一些空格。 PHP从字面上输出<?php ... ?>
以外的所有内容。 exit()
会导致脚本立即停止,因此它永远不会以空格结束。
确保<?php
是脚本的第一行。并且您根本不需要脚本末尾的?>
。如果您不需要返回文字HTML模式,只需在PHP执行模式下结束脚本。