1

サーバーにデータを送信するフォームがあります。3 つの異なる JSON 文字列を返すことができる PHP スクリプトを使用してフォームを処理します。

1

exit("{\"success\":\"false\", \"msg\":\"Las claves no cohinciden\"}");

exit("{\"success\":\"false\", \"msg\":\"".$failure->getMessage()."\"}");

exit("{\"success\":\"true\",\"msg\":\"El usuario: $nombreUsuario ha sido dado de alta correctamente.\"}");

1 番目と 2 番目の文字列は、表示するエラーです。3 番目の文字列は通常のケースです。スクリプトがこれらの値の一部を返すと、ExtJs do で応答をキャッチします。

var respuesta = Ext.JSON.decode(response.responseText);

しかし、いつ行う:

console.log(respuesta);

Firebug コンソールには、「respuesta」が定義されていないと表示されます。何か案が ?

4

2 に答える 2

2

AJAX で使用するために JSON を出力する場合は、JSON のヘッダーを設定し、適切にフォーマットされた JSON を返すことをお勧めします。以下の例では、レスポンスで通常の PHP 配列を作成し、それを で JSON に変換しますjson_encode()

それを試してみてください。以前は、適切なコンテンツ タイプとフォーマットがないと、Javascript が文字列を JSON として取り込めないという問題がありました。

<?php

$response = array("success" => "false", "msg" => "Las claves no cohinciden");

header("Content-type: application/json");
exit(json_encode($response));

?>

必要に応じて、jQuery があれば...$.parseJSON('your string');文字列から JSON を出力することができます。

于 2012-12-26T13:16:10.697 に答える
0

この URL を使用して、Json コードをテストできます。

http://www.utilities-online.info/xmltojson/#.UNr9FhhQ-gY

于 2012-12-26T13:37:13.970 に答える