programing

jQuery JSON 응답은 항상 ParseError를 트리거합니다.

lastcode 2023. 3. 23. 22:47
반응형

jQuery JSON 응답은 항상 ParseError를 트리거합니다.

저는 jQuery와 JSON으로 몇 가지 기본적인 작업을 준비하려고 합니다.현재 jQuery가 플레이 프레임워크 어플리케이션에서 JSON 응답을 받아들이는 데 어려움을 겪고 있습니다.에러가 발생하고 있는 코드의 간략화 버전을 다음에 나타냅니다.

$.ajax({
    type: 'POST',
    url: "@{FrontEnd.isUsernameAvailable()}",
    data: "name=thisnameisavailable",
    cache: false,
    success: function(data) {
        console.log("Success... ");
    },
    error: function(jqXHR, textStatus, errorThrown) {
        console.log("Error... " + textStatus + "        " + errorThrown);
    },
    dataType: 'json'
});

에러 콜백은 항상 트리거 됩니다.표시되다

에러...parsererror jQuery1500 1997238997904205_12984897373이 호출되지 않았습니다.

Firebug를 사용하여 반품된 JSON을 검사해도 오류가 표시되지 않으며 다양한 JSON 보풀 도구도 검증됩니다.dataType을 "text"로 변경하면 성공이 호출됩니다.그러나 isUsernameAvailable 콜을 jQuery 검증 플러그인의 일부로 사용하려고 하므로 유효한 JSON을 반환해야 합니다.

내가 오해하고 있는 건지도 모르지만, 네가 이걸 좀 설정해 줄 수 없어?dataType로.textJSON.parse()가 반환되는 데이터입니까?

success: function(data) {
    data = JSON.parse(data);
    // process data
},

일반적으로 합의된 솔루션을 추가하기 위해 편집(이전에는 설명만):

방금 api.jquery.com/jQuery.ajax를 봤는데 jQuery 1.5로 일종의 유형 변환을 할 수 있을 것 같습니다.공백으로 구분된 값:jQuery 1.5에서는 jQuery는 Content-Type 헤더에서 수신한 데이터 유형을 필요한 것으로 변환할 수 있습니다.예를 들어 텍스트 응답을 XML로 처리하려면 dataType에 "text xml"을 사용하십시오. "text json"을 사용할 수도 있습니다.

jQuery 1.5로 업그레이드 하자마자 같은 에러가 발생하였습니다.jQuery 1.5와 호환되지 않는 jquery validation plugin도 사용하고 있기 때문이라고 합니다.jquery 검증 플러그인을 삭제하면 dataType json의 $.ajax()는 정상적으로 동작합니다.

jquery 유효성 검사 플러그인의 비호환성에 대한 자세한 내용은 http://bugs.jquery.com/ticket/8118를 참조하십시오.

parserror jQueryNNNN_NNn이 호출되지 않았습니다(jsonp 및 jQuery 1.7.2 사용). 그 이유는 반환된 json 구조의 값 중 하나에 새로운 행이 포함되어 있기 때문입니다.이게 도움이 됐으면 좋겠네요.

받았습니다parseerror,왜냐면url포함했다callback=?part. JSONP 기능을 활성화하는 마법 문자열입니다.

서버 측의 REST API가 JSONP에서 JSON으로 변경됨에 따라 반환된 데이터 형식이 와 호환되지 않게 되었습니다.jQuery.getJSON(..) 않다success단, "", "", "",fail대신 콜백이 필요합니다.

는 ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★callback=?url파라미터를 지정합니다.

언급URL : https://stackoverflow.com/questions/5095307/jquery-json-response-always-triggers-a-parseerror

반응형