最近ページを書いていて、jquery ajaxを使って判定を実装しましたが、テストを書いた直後は全く問題なかったのですが、2日後に問題が見つかり判定ができなくなりました。後で、すべてのアラートの戻り値の前に多数の改行とスペースが来ることがわかりました。 (なぜ同じコンピュータ、同じ環境でこのような問題が発生するのかはまだわかりません)
後でインターネットで、同じ問題に遭遇した人がいることを知りました。 jquery $.ajax $.get $.post にしても、独自の XMLHttpRequest メソッドにしても、呼び出して判定する際にエラーが発生することがあります。例を参照してください
ajaxコード:
ajax.php
明らかに、google という名前の文字列の前に改行またはスペースがあり、プログラムの堅牢性に重大な影響を及ぼします。問題が発生し、次のプログラムの判断は無効です。したがって、正規表現を使用してそれを削除する必要があるので、次のように書くことができます
そうすると改行スペースはなくなります。
オンラインで見るものはすべて
を使用していますnewData=data.replace(/rn/g,'');
しかし、この正規表現には問題があることがわかり、先頭の一部の空白文字が削減されるだけだったので、空白文字には改行と復帰を除く他の空白文字が含まれている必要があると判断し、s を選択しました。
/.../g は正規表現の属性であり、見つかったときに停止するのではなく、全文一致を示します
http://www.bkjia.com/PHPjc/824875.html