Ajax响应包含一个值,但不等于该值?

时间:2014-04-06 04:48:42

标签: javascript php jquery ajax

我有一个使用Jquery的Ajax get请求,它在服务器端没有特殊的标题,所以只返回text / html。

   $.get("index.php?action=get_current_page", function (response) {

然后我发出警报:

   alert(response);

值显示:收件箱

但是为什么然后在下一行评估为false:

if (response == "inbox") {

有什么想法吗?你需要更多信息吗?感谢。

整个片段是:

 $.get("index.php?action=get_current_page", function (response) {
       alert(response);

       if (response == "inbox") {
           alert("hello");
           loadInbox();
       }

在服务器端,我是简单的回应会话变量:

echo $_SESSION['current_page'];

1 个答案:

答案 0 :(得分:2)

它很可能包含空格或其他隐形字符。如果无法控制服务器端输出,则可以使用JavaScript替换不可见字符。否则,如果您确实控制了服务器端输出。您可以在服务器端执行此操作。

如果你有对PHP脚本的服务器端访问权限,那么trim()将完成从字符串的开头和结尾替换空格的工作。

$response = trim($response);
echo $response;

如果您只能访问客户端,则使用JavaScript。更具体地说,String.prototype.replace()将通过替换不是a-zA-Z

的每一个字符来完成工作
response = response.replace(/[^a-zA-Z]/g,'');