JQuery Ajax 호출에서 JSON을 수신할 수 없습니다.
문제
서버에서 오는 JSON이 유효하다고 판단했지만(수동으로 ajax 호출 수행) JQuery를 사용하고 싶습니다.또한 Firebug를 사용하여 서버로 전송되는 "게시물" URL이 올바른지 확인했습니다.그러나 오류 콜백은 여전히 트리거되고 있습니다(구문 분석 오류).나는 또한 데이터 유형을 시도했습니다.텍스트.
포함해야 할 다른 옵션이 있습니까?
$(function() {
$("#submit").bind("click", function() {
$.ajax({
type: "post",
url: "http://myServer/cgi-bin/broker" ,
datatype: "json",
data: {'start' : start,'end' : end},
error: function(request,error){
alert(error);
},
success: function(request) {
alert(request.length);
}
}); // End ajax
}); // End bind
}); // End eventlistener
해결책
제가 시도해보고 싶은 몇 가지 제안은 다음과 같습니다.
1) 지정한 'datatype' 옵션은 'dataType'이어야 합니다(대소문자를 구분합니다).
2) 다음과 같이 'contentType' 옵션을 사용해 보십시오.
contentType: "application/json; charset=utf-8"
응답이 아닌 게시물 URL에 대한 요청에 사용되므로 얼마나 도움이 될지 잘 모르겠습니다.자세한 내용은 이 문서를 참조하세요. http://encosia.com/2008/06/05/3-mistakes-to-avoid-when-using-jquery-with-aspnet-ajax(asp.net용으로 작성되었지만 해당될 수도 있음)
3) 게시물 URL의 출력을 세 번 확인하고 JSON 유효성 검사기를 통해 출력을 실행하여 해당 출력이 유효하고 JSON 개체로 구문 분석될 수 있는지 확인하세요. http://www.jsonlint.com
이 중 일부가 도움이 되기를 바랍니다!
다른 팁
왜 myResult
대신에 request
?
success: function(request) {
alert(myResult.length);
}
데이터 매개변수가 잘못되었습니다.다음은 작동하는 예입니다.
데이터:{ 색인:ddl.selectedIndex },
이는 ddl.selectedIndex 값을 갖는 index라는 속성을 가진 객체를 구성합니다.
데이터 매개변수 줄에서 따옴표를 제거해야 합니다.
행운을 빕니다