ajax傳回值中有斷行符號換行、空格的解決方案分享_PHP教程

來源:互聯網
上載者:User
最近在寫一個頁面,用jquery ajax來實現判斷,剛寫好測試完全沒有問題,過了兩天發現出現問題,判斷不成了。後來發現所有alert出來的傳回值前面都會加若干換行和空格。(至今不明白,同一台電腦,同樣的環境,為什麼出現這樣的問題)

後來在網上發現也有人遇到了相同的問題。無論是jquery $.ajax $.get $.post 在或者是原聲的XMLHttpRequest方法都存在這種問題,這樣調用的時候和判斷的時候,有時候會出錯。看例子

ajax代碼:

複製代碼 代碼如下:
$.get('ajax.php',{'name':name},function(data){
alert(data);
})

ajax.php

複製代碼 代碼如下:
$username = $_GET['name'];
echo $username;
?>

明顯name為google的字串前面有換行或空格,這樣嚴重的影響了程式的穩健性,我都遇到出現了問題,下面程式的判斷都不成立。因此我們需要用Regex的方法來去除,因此我們可以這樣寫

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

ajax.php不用變

然後就沒有換行空格了。

我在網上看到的都是用

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

但我發現這個正則對我的有問題,前面只減少了一部分空白字元,因此我判斷空白字元裡應該有除了換行斷行符號外的其餘空白字元,因此選用了\s。

/.../g 是Regex的屬性, 表示全文匹配, 而不是找到一個就停止

http://www.bkjia.com/PHPjc/824875.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/824875.htmlTechArticle最近在寫一個頁面,用jquery ajax來實現判斷,剛寫好測試完全沒有問題,過了兩天發現出現問題,判斷不成了。後來發現所有alert出來的返回...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.