ホームページ  >  記事  >  バックエンド開発  >  Ajax 戻り値_PHP チュートリアルでキャリッジ リターン、ライン フィード、スペースの問題の解決策を共有します。

Ajax 戻り値_PHP チュートリアルでキャリッジ リターン、ライン フィード、スペースの問題の解決策を共有します。

WBOY
WBOYオリジナル
2016-07-13 10:25:57815ブラウズ

最近ページを書いていて、jquery ajaxを使って判定を実装しましたが、テストを書いた直後は全く問題なかったのですが、2日後に問題が見つかり判定ができなくなりました。後で、すべてのアラートの戻り値の前に多数の改行とスペースが来ることがわかりました。 (なぜ同じコンピュータ、同じ環境でこのような問題が発生するのかはまだわかりません)

後でインターネットで、同じ問題に遭遇した人がいることを知りました。 jquery $.ajax $.get $.post にしても、独自の XMLHttpRequest メソッドにしても、呼び出して判定する際にエラーが発生することがあります。例を参照してください

ajaxコード:

コードをコピーします コードは次のとおりです:

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

ajax.php

コードをコピーします コードは次のとおりです:

$username = $_GET['name'];
echo $username;

Ajax 戻り値_PHP チュートリアルでキャリッジ リターン、ライン フィード、スペースの問題の解決策を共有します。明らかに、google という名前の文字列の前に改行またはスペースがあり、プログラムの堅牢性に重大な影響を及ぼします。問題が発生し、次のプログラムの判断は無効です。したがって、正規表現を使用してそれを削除する必要があるので、次のように書くことができます

コードをコピーします コードは次のとおりです:
$.get('ajax.php',{'name':name},function(data){
newData=data.replace(/s) /g,' ');
アラート(newData)
})

ajax.phpは変更する必要はありません

Ajax 戻り値_PHP チュートリアルでキャリッジ リターン、ライン フィード、スペースの問題の解決策を共有します。そうすると改行スペースはなくなります。

オンラインで見るものはすべて

を使用しています

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

しかし、この正規表現には問題があることがわかり、先頭の一部の空白文字が削減されるだけだったので、空白文字には改行と復帰を除く他の空白文字が含まれている必要があると判断し、s を選択しました。

/.../g は正規表現の属性であり、見つかったときに停止するのではなく、全文一致を示します

http://www.bkjia.com/PHPjc/824875.html

本当http://www.bkjia.com/PHPjc/824875.html技術記事最近ページを書いていてjquery ajaxを使って判定を実装しましたが、書いた直後は問題なかったのですが、2日後に問題が見つかり判定ができなくなりました。後で、すべてのアラートが戻ってきたことがわかりました...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。