2012-04-11 14 views
0

私はajax()関数を使用して文字列をPHPファイルに送ります。PHP *変数をエコーなしでjQueryに送り返すにはどうすればいいですか?

成功した場合、PHPファイルは「文字列の検証に成功しました」とエコーします。しかし、私はまた、実際の文字列をjQueryに送ってdivに入れたいと思います。

確認メッセージと一緒にエコーすることなく、その文字列を送り返す方法はありますか?

私は両方のメッセージを文字列に入れ、それをjQueryに送信し、jQueryでその文字列を分割する必要がありますか? どのような方法が最適ですか?

+3

'$応答=配列あなたは、[' json_encode($応答) '](http://php.net/manual/en/function.json-encode.php)を使用することができます( '成功または失敗'、$ your_string); '。またはその効果の何か。これを行う利点は、それがあなたのために物事をエスケープし、JSがさらに解析することなく使用できるオブジェクトを生成することです。 – NullUserException

+0

上記のコメントは良い方法ですが、私は興味をそそられています:PHPに渡したのと同じ文字列を送り返したいですか?その場合、あなたはそうする必要はありません。すでにjQueryに文字列があります。それを使用してください。 – bfavaretto

+0

こんにちは、あなたの応答に感謝します。私はHTMLページにユーザーの入力を追加したいので、サーバー側の文字列をサニタイズする必要があります。よろしくお願いします。 – alexx0186

答えて

2

:クライアント側で

$result = array(
    'message' => 'the validation of the string was successful', 
    'original' => 'string sent by client' 
); 

echo json_encode($result); 

を、あなたは、あなたのコールバックからの各部分にアクセスすることができますそのような関数:

function (result) { 
    alert(result.message); 
    // do something with result.original 
} 
+0

こんにちはrjz、お返事ありがとうございます。実際に元の文字列のエスケープされたバージョンを送信したいと思います。しかし、JSでその配列をどのように扱うのか知りたいですか?通常の '$ result [0]'だけですか?ありがとうたくさん – alexx0186

+0

ああ、ちょうど私の質問に答えた!だから$ result [0]はうまくいくでしょうか?編集:気にしない、私はあなたの方法を使用します。ありがとう! – alexx0186

+0

こんにちはrjz、私は '警告(result.message)'のときに "undefined"を取得します。私は 'ajax()'の "成功"コールバック関数の中でそれを行いました。それは問題を引き起こすだろうか?ありがとうございます – alexx0186

0

文字列と検証メッセージでJSONを返します。他の人がコードに言った、あなたがそうのようなJSONでエンコードされたオブジェクトを返すためにPHPスクリプトをセットアップするかもしれないものを置く

関連する問題