入力した電子メールがデータベースに既に存在する場合にカスタムエラーメッセージを表示したい jqGrid プラグインを使用するデータグリッドがあります。フィールドを cfc に渡し、次の json を返します (これが Firebug ウィンドウに表示されるので、その部分は問題ありません): {"USERDATA":{"MSG":"Email already exists in registration","TYPE":"エラー"}}
したがって、基本的には、この json を解析してアラートを作成するか、モーダル ウィンドウで何かを実行しようとしています。ここで次のコードを見つけましたが、json をうまく渡しているようです。GetResponseData 関数を呼び出す追加オプションの一部を次に示します。
{addCaption:"Add Recipient",closeOnEscape:true,savekey: [true,13],closeAfterEdit : false, errorTextFormat:commonError,width:"450"
,afterSubmit:function(response,postdata){ return GetResponseData(response); },reloadAfterSubmit:true,bottominfo:"Fields marked with (*) are required",top:"60",left:"70"}
テストにアラートが追加された関数:
function GetResponseData (resp) {
var jtxt=(resp.responseText); //{"USERDATA":{"MSG":"Email already exists in registration","TYPE":"Error"}}
var jreturn=JSON.parse(jtxt)
alert(jreturn); //shows '[Object.object]'
var msg=jreturn.USERDATA[0].MSG;
var type=jreturn.USERDATA[0].TYPE;
alert(msg);
alert(type);
}
JSON.parse と eval() の両方を同じエラーで試しました: resp.USERDATA is undefined
みんな、ありがとう!私はCFとjqueryにかなり慣れていないので、助けていただければ幸いです。