这些是我的调用参数
$.post('checklogin_is.php', data, handleAjaxResponse, 'text');
回调函数为:
function handleAjaxResponse(data) {
if($.trim(data)=='yes')
{
//some more code
}
else
{
if($.trim(data)=='no')
{
//some code
}
else
{
//some code
}
}
}
正如您所看到的,checklogin_is.php应该返回"yes"或"no"。然而,相反,我得到的是"是"或"否"在开头有一个额外的空格,因此我无法获得要由if语句评估的数据。
我使用$.trim(data)
作为一种变通方法,但我想知道为什么我会得到这个额外的空白,以及是否有其他方法可以解决这个问题。提前感谢
php代码:
<?php session_start();
require_once('D:Program Files (x86)Apache Software FoundationApache2.2htdocsis-c.php');
$un = htmlspecialchars($_POST['usnm'],ENT_QUOTES);
$unp = $_POST['usnmp'];
$query_lg = "SELECT * FROM incm_s WHERE s_un='".$un."'";
$user_row = $isdb->get_row( $query_lg, ARRAY_A);
if($user_row['s_id'] > 0)
{
if(strcmp($user_row['s_pd'],$unp)==0)
{
$_SESSION['un_is']=$user_row['s_un'];
$_SESSION['utype_is']=$user_row['s_type'];
echo 'yes';
}
else
echo 'no';
}
else
echo 'no';
?>
确保<?php session_start();
之前的文件中没有空白;这不仅会得到回应,还会打断你的会话。
另一件要尝试的事情是检查是否有任何包含的文件(例如"is-c.php")在任何php标记之外都有空白。请注意,您可以在文件末尾省略任何关闭的PHP标记,以确保没有换行符被回显。