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

最近在写一个页面,用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 是正则表达式的属性, 表示全文匹配, 而不是找到一个就停止

(0)

相关推荐

  • jquery ajax return没有返回值的解决方法

    大家先看一段简单的jquery ajax 返回值的js 复制代码 代码如下: function getReturnAjax{ $.ajax({ type:"POST", url:"ajax/userexist.aspx", data:"username="+vusername.value, success:function(msg){ if(msg=="ok"){ showtipex(vusername.id,"&l

  • asp.net利用Ajax和Jquery在前台向后台传参数并返回值的实例

    1>前台 首先需要 Jquer的包 复制代码 代码如下: <script src="js/jquery-1.9.1.js" type="text/javascript"></script> 下面是     <script type="text/javascript"> $(function () { $('#txtUserName').blur(function () { var username = $

  • js获取ajax返回值代码

    复制代码 代码如下: z = $.ajax({url:"__URL__/add/",type:'POST',dataType:"json",async:false,cache:false,data:"step=ajax&ajax_type=checkEmail&email="+email,}).responseText;

  • jquery+ajax请求且带返回值的代码

    现在比较流行使用jquery的ajax来实现一些无刷新请求效果,本章节提供一个非常简单的代码实例供大家参考之用,希望能够给需要的朋友带来一定的帮助,代码如下: <script type="text/javascript"> /* 请求Ajax 带返回值,并弹出提示框提醒 --------------------------------------------------*/ function getAjax(url,parm,callBack) { $.ajax({ typ

  • 创建公共调用 jQuery Ajax 带返回值

    复制代码 代码如下: <script type="text/javascript"> /* 请求Ajax 带返回值,并弹出提示框提醒 --------------------------------------------------*/ function getAjax(url, parm, callBack) { $.ajax({ type: 'post', dataType: "text", url: url, data: parm, cache:

  • ajax 返回值自动添加pre标签的解决方法

    ajax返回,自动添加pre标签 ajax返回的内容,居然自动添加了<pre>标签 在FF,ie,谷歌浏览器中,每个返回的都不一样:ff小写,ie大写,谷歌加style 查了一下,原来是返回的类型不对. 最终解决结果,修改一般处理程序的返回类型 把 context.Response.ContentType = "text/plain"; 修改为 context.Response.ContentType = "text/html";

  • jquery ajax例子返回值详解

    在JQuery中,AJAX有三种实现方式:$.ajax() , $.post , $.get(). 首先我们看$.get(): 复制代码 代码如下: $.get("test.jsp", { name: "cssrain", time: "2008/01/21" }, //要传递的数据 function(data){ alert("返回的数据: " + data); } ) 然后看$.post(): 跟$.get()格式一样.

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

    最近在写一个页面,用jquery ajax来实现判断,刚写好测试完全没有问题,过了两天发现出现问题,判断不成了.后来发现所有alert出来的返回值前面都会加若干换行和空格.(至今不明白,同一台电脑,同样的环境,为什么出现这样的问题) 后来在网上发现也有人遇到了相同的问题.无论是jquery $.ajax  $.get  $.post 在或者是原声的XMLHttpRequest方法都存在这种问题,这样调用的时候和判断的时候,有时候会出错.看例子 ajax代码: 复制代码 代码如下: $.get('

  • VS2019中scanf返回值被忽略的问题及其解决方法

    昨天在使用Visual Studio 2019编写C语言程序时遇到了scanf返回值被忽略问题 因为我也是刚开始学习C语言,第一次遇到这种问题,也不知道怎么回事,然后就上Chrome研究了一番,才知道原因,并且找到了几种分散在个个角落的解决方法,我在这里归纳总结一下. 问题原因: 在ANSI C中只有scanf(),没有scanf_s(),但是scanf()在读取时不检查边界,所以可能会造成内存泄漏.于是Microsoft公司在VS编译器中提供了scanf_s(),如果想继续使用scanf这个不

  • VSstudio中scanf返回值被忽略的原因及解决方法(推荐)

    相信有不少人在使用vs的时候会遇到以下这个问题:scanf返回值被忽略,接下来我就告诉大家该如何解决这个问题 出现问题的原因: 因为scanf()在读取数据时不检查边界,所以可能会造成内存泄漏.Microsoft公司觉得这个函数不安全,于是自己在VS编译器中提供了scanf_s()这个函数,想解决以下这个问题有以下几种方法: 方法一(不推荐!): 将scanf改为scanf_s即可解决这个问题,效果如下所示: 虽然这种方法可行,但是在这里不推荐使用这种方式,因为编写程序要保证其有良好的可移植性,

  • $.ajax返回的JSON无法执行success的解决方法

    晚上在修改代码,之前用的 复制代码 代码如下: $.ajax({ .. dataType:'json', ... success:function(json){ //不执行success }, error:function(error){ //总是执行这个error } }); 为什么会这样子呢?在网上查了好久,结果发现是因为我指定了dataType:'json',这样一指定完蛋了,对Json的要求就非常严格起来了,起初我的json格式是这样写的:"{result:{\"success

  • PHP实现将textarea的值根据回车换行拆分至数组

    本文实例讲述了PHP实现将textarea的值根据回车换行拆分至数组的方法.分享给大家供大家参考.具体分析如下: textarea回车换行为 \r\n $keyword_list = trim($_REQUEST['keywords']); $keyword_arr = explode("\r\n", $keyword_list); 这个地方需要注意是要去除textarea 前后的空格,否则会多出一个 或者使用explode也是可以的 只是不能用\r\n只能用双引号,不能用单引号 希望

  • Ajax返回值类型与用法实例分析

    本文实例讲述了Ajax返回值类型与用法.分享给大家供大家参考,具体如下: Ajax返回值类型主要有XML类型和文本类型,其中文本类型又可以分为HTML.json类型等. 1.返回值之XML类型 如果服务器的响应头中Content-type的内容为text/xml时,此时XMLHttpRequest对象的responseXML属性才能使用. 2.返回值之文本类型 文本类型主要分为Html类型和json类型. (1)Html类型 使用场景:一般返回需要重复复杂的操作.比如,页面使用ajax从服务器请

  • 快速解决ajax返回值给外部函数的问题

    如下所示: function validateUser(mya){ var val=mya.name; val = $.trim(val); var flag=true; if(val != ""){ var url1="${pageContext.request.contextPath}/group/getUserCount" var data1= {"gid":val, time:new Date()}; $.post(url,data1,f

  • 给Ajax返回的HTML标签动态添加样式的方法

    今天在做项目时,在页面中用ajax返回了另一个页面,突然发现返回页面中的表格把页面给顶了出去,经过一番研究,终于解决了. 先准备好要返回内容的容器 <div class="container"> </div> 预定义一个样式,以便返回的内容能直接套用 比如,我们希望返回的表格不会太过分,把页面给顶开了... <style> .container table{ width:100%; } </style> 最后直接在容器中用ajax返回内容

  • Ajax跨域访问Cookie丢失问题的解决方法

    ajax跨域访问,可以使用jsonp方法或设置Access-Control-Allow-Origin实现,关于设置Access-Control-Allow-Origin实现跨域访问可以参考之前我写的文章<ajax 设置Access-Control-Allow-Origin实现跨域访问> 1.ajax跨域访问,cookie丢失 首先创建两个测试域名 a.fdipzone.com 作为客户端域名 b.fdipzone.com 作为服务端域名 测试代码 setcookie.PHP 用于设置服务端co

随机推荐