ajax返回值中有回车换行、空格的解决方法分享

yipeiwu_com6年前PHP代码库

最近在写一个页面,用jquery ajax来实现判断,刚写好测试完全没有问题,过了两天发现出现问题,判断不成了。后来发现所有alert出来的返回值前面都会加若干换行和空格。(至今不明白,同一台电脑,同样的环境,为什么出现这样的问题)

后来在网上发现也有人遇到了相同的问题。无论是jquery $.ajax  $.get  $.post 在或者是原声的XMLHttpRequest方法都存在这种问题,这样调用的时候和判断的时候,有时候会出错。看例子

ajax代码:

复制代码 代码如下:

$.get('ajax.php',{'name':name},function(data){
   alert(data);     
})

ajax.php

复制代码 代码如下:

<?php
    $username = $_GET['name'];
    echo $username;
?>

明显name为google的字符串前面有换行或空格,这样严重的影响了程序的稳健性,我都遇到出现了问题,下面程序的判断都不成立。因此我们需要用正则表达式的方法来去除,因此我们可以这样写

复制代码 代码如下:

$.get('ajax.php',{'name':name},function(data){
    newData=data.replace(/\s/g,'');
    alert(newData);     
})

ajax.php不用变

然后就没有换行空格了。

我在网上看到的都是用

newData=data.replace(/rn/g,'');

但我发现这个正则对我的有问题,前面只减少了一部分空白字符,因此我判断空白字符里应该有除了换行回车外的其余空白字符,因此选用了\s。

/.../g 是正则表达式的属性, 表示全文匹配, 而不是找到一个就停止

相关文章

mac下多个php版本快速切换的方法

前言 php是为了快速构建一个web页面而迅速被大家广为接受的开源语言,通过不断发展已经有了很多的php开源系统,满足了目前大部分用户的站点需求。1995年初php诞生到现在已经存在多个...

thinkphp 手机号和用户名同时登录

话不多说,请看代码: //在注册时用户名不能是纯数字, 防止一个人的用户名和另一个人的手机号相同 public function Login(){ if (IS_AJAX) {...

smarty表格换行实例

本文实例讲述了smarty表格换行的实现方法。分享给大家供大家参考。具体分析如下: 在foreach中加入 key=count 复制代码 代码如下:<table> ...

PHP制作用户注册系统

到目前为止,你已经了解了足够多的PHP了。该写个小程序练手了。 用户注册系统 写一个index.php页面,有用户名和密码表单,post提交到check.php,输出用户名和"用户名+密...

PHP学习之数组的定义和填充

PHP的数组,说白了,就是关联数据每一条数组都是以[索引,值]的形式保存的。其中索引默认是以0开始的数字。在未指定索引时,PHP会从0开始自动生成索引。当指定一个索引,PHP会从你指定索...