0

約 2 週間経っても解決の兆しがなく、まだこの問題に苦しんでいます。

$.ajax または $.post を使用して PHP によって返されるデータには、返されるデータに常に 2 つのスペースが追加されます。サーバーまたはスクリプトの問題ではないことを確認するために、PHP でエコーされるデータをトリミングしました。

例えば

echo '{"id": "'.$myId.'"}';

なります:

'  {"id": "'.$myId.'"}' 

返されたデータをインスペクターで表示する場合。エラーがない場合は何も返されないことを期待しているため、これは私の js スクリプトに問題を引き起こします。ダブル スペースが返されると、実際には何もないときにエラーが発生し、他のイベントの発生が停止します。

Jquery 1.8.3 を使用しています。

この非常に奇妙で迷惑な問題を引き起こしている原因を知っている人はいますか?


NetBeans を使用しています


これは、アプリを新しいサーバーに移動してから発生し始めたことを思い出しますが、それがどのように影響したかはわかりません。

4

3 に答える 3

0

これは役に立つかもしれません、

スクリプトに空白があると思います(含まれているファイルからのものかもしれませんが、確かではありません)。データをブラウザーに送信する前に、出力バッファーをクリアすることでこれを克服できます。次のコードは、アイデアを示しています。

<?php
ob_start();
echo ' '; // Possible whitespace (may be from included files)

----------
----------

if (YOUR_CHECK_FOR_AJAX_REQUEST) {
    ob_end_clean();
    $myId = 1;
    echo '{"id": "'.$myId.'"}';
    exit;
}
?>
于 2013-08-01T06:50:40.117 に答える
0

ファイルから返されるデータにはスペースが含まれるか、html タグが含まれます。すべてのタグ、行、スペースを削除し、最後に?>を削除します

test.php からデータを返す場合、ファイルは次のようになります。

<?php
$myId = '1';
echo '{"id": "'.$myId.'"}';
于 2013-08-01T06:17:31.900 に答える