Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/248.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/436.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php jquery$.post添加不需要的字符_Php_Javascript_Jquery_Ajax - Fatal编程技术网

Php jquery$.post添加不需要的字符

Php jquery$.post添加不需要的字符,php,javascript,jquery,ajax,Php,Javascript,Jquery,Ajax,我正在使用jquery的post方法与php通信,并让用户登录。代码如下: var user = $('#user').val(); var pass = $('#password').val(); $.post('php/login.php', { post_code:'login', username:user, password:pass },

我正在使用jquery的post方法与php通信,并让用户登录。代码如下:

    var user = $('#user').val();
    var pass = $('#password').val();
    $.post('php/login.php',
          {
              post_code:'login',
              username:user,
              password:pass
          },
          function(response){                
              alert(response);
              if(response== 'good'){
                changePage('homePage');
              }
              else{alert('bad info');}
     });    
因此,成功登录后,php会响应
good
,当javascript提醒响应时,它也会提醒
good
。通过做一些调试,我发现php回显了一个长度为4的字符串
good
,但javascript不知何故在字符串的边缘添加了两个空格,使其
\uu good
。我解决这个问题的方法是:

              response= response.substr(response.length - 4); 

但是我仍然很好奇为什么这两个空格被添加到响应字符串中

如果在
之前有空格,那么PHP文件中可能有一些空格,在
之前,PHP脚本中可能有一些空格,PHP标记之前或之后是最常见的
response.trim()
可以解决这个问题,但是您应该在PHP文件中找到并删除空格。作为旁注,这根本不安全!!从PHP输出的实际源代码中是否有额外的空间(不仅仅是屏幕上显示的内容)?关于前面提到的安全性问题。您肯定应该在这里添加某种形式的基于会话的登录令牌,因为如果没有它,任何人都可以轻松地构建一个脚本,在您的登录端点上启动,以尝试猜测有效的登录。如果您找不到空白的来源(并且不是jQuery),只需使用
response.trim()对其进行修剪
或更跨浏览器的jQuery版本
$.trim(response)