0

エコーを使用して文字列をjavascript関数に送り返していますが、送信される文字列の長さは、js関数によって読み取られる長さより1短くなっています。Firebug Consoleの最初の文字を見ると、値は「」です。

echo "Success";

失敗したajax呼び出しによって返されたデータに対して比較を実行します。

if (data == "Success")

jQuery $ .trim関数を適用すると、成功します。

4

2 に答える 2

0

PHPファイルの最後にスペースがある可能性があります。ファイルがで終わっていないことを確認してください?>(終わっている場合は削除してください)。それは常に、問題のあることに、出力に余分な空白をもたらします。

于 2012-07-07T23:41:40.307 に答える
0

echo()それはヌル文字を印刷しているのではなく、リターンを印刷していると思います。print()代わりに使用してください。

この問題全体を回避するには、より多くの RESTful HTTP ステータス コードを使用して成功と失敗を表す (この場合、jQuery には特定の onFailure および onSuccess コールバックさえあります) か、JSON を使用して返される値をエンコードします。PHP で doecho json_encode(array('status' => 'success'));を実行してから、jQuery で do を実行できますif(data['status'] == 'success')。これにより、後で実際のデータを返すことにした場合に、コードがより将来的に保証されます。後で行う場合は、コンテンツ タイプが正しく設定されていることを確認するか、JSON を想定するよう jQuery に指示してください。

于 2012-07-07T23:46:17.390 に答える