여기 내 코드에 결함이 있으며 약간 혼란 스럽습니다.jQuery ajax에서 서버 측의 응답 처리
$.ajax({
type: 'POST',
url: '/contact/index/add/',
data: $("#addContact").serialize(),
success: function(data, status, xhttp) {
var response = eval ("[" + data + "]");
console.log(response.msg);
if (response.success){
console.log(response.msg);
} else {
console.log(response.msg);
}
},
dataType: "html"
});
는 내가 찾던 그러나 나는 CONSOLE.LOG (response.msg) 라인에 '정의되지 않은'지고 있어요 (JSON 형식으로 인코딩) 배열에 액세스 할 수 있도록 응답에
I는 (응답) CONSOLE.LOG 경우그것이 같은 (방화에) 보여
요청 [{성공 = TRUE, MSG = "테스트"} 개체]
위로 보내는 다음과 같은 트링 :
{ "성공"사실, "MSG": "테스트"} 나는 평가를위한 []에서 응답을 둘러싸 이유입니다.
그래서 혼란 스러울 정도입니다. 어떻게 배열의 속성에 액세스 할 수 있습니까?
I는 (PHP/젠드 프레임 워크)이서버 측
에코 Zend_Json_Encoder :: 인코딩 (배열 ('성공'=> 참 'MSG'=> '검사')); 출구;
내가
if(response.success) { // do something }
내가 서버 측 또는 자바 스크립트 쪽을 수정해야하나요 라인에서 같은 배열의 키/값에 액세스하려면 어떻게해야합니까?
- 업데이트 - 우선, 내 [] 문제를 수정 한 HTML이 아닌 json으로 dataType을 수정했습니다. –
- 두 번째 업데이트 -이 질문을 무시하십시오. 전체 문제였습니다. 올바른 데이터 유형을 설정해야했습니다. –