2012-04-19 11 views
1

입력 한 전자 메일이 데이터베이스에 이미있는 경우 사용자 지정 오류 메시지가 표시되도록 jqGrid 플러그인을 사용하여 데이터 격자가 있습니다. { "USERDATA": { "MSG": "등록에 이메일이 이미 있습니다.", "TYPE": "이 필드는 cfc에 전달되고이 json을 반환합니다 (이 부분은 Firebug 윈도우에 표시됩니다. 오류 "}}jqGrid 및 ColdFusion에서 json 응답 구문 분석

그래서 기본적으로이 json을 구문 분석하고 경고를하거나 모달 창으로 무언가를하려고합니다. 여기에 다음 코드가 있으며 json을 잘 전달하는 것으로 보입니다. 같은과 함께 모두) 나는 JSON.parse 및 평가를 (시도했습니다

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); 
} 

:

{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"} 

경고와 기능 테스트에 추가 : 여기에 GetResponseData 함수를 호출 추가 옵션의 일부입니다 오류 : resp.USERDATA가 정의되지 않았습니다.

감사합니다. 나는 CF와 jquery에 상당히 익숙하다.

답변

2

Firebug 또는 Google 크롬을 사용하는 경우 콘솔보기를 사용하고 console.log() 호출에 대한 경고를 바꾸는 것이 좋습니다. 그러면 개체를 검사하고 구조화 된 개체를 볼 수 있습니다.

시도

console.log(jreturn) 

난 당신이 jreturn.USERDATA [0] .MSG를 사용하는 것을 볼; . 왜 마치 배열 인 것처럼 USERDATA에 액세스하고 있습니까? responseText의 결과로 표시되는 내용은

jreturn.USERDATA.MSG; 
이어야합니다.