programing

$.getJ가 되는 이유SON은 소리 없이 실패합니까?

golfzon 2023. 3. 15. 20:06
반응형

$.getJ가 되는 이유SON은 소리 없이 실패합니까?

반환된 데이터가 유효한 JSON이 아닐 때 jQuery가 자동으로 실패하는 것은 매우 불편한 것 같습니다.왜 이것이 사일런트 에러와 함께 실장되었습니까?getJ를 실행하는 가장 쉬운 방법은 무엇입니까?보다 나은 장애 동작을 가진 SON(예: 예외 발생,console.log(), or other other)?

사용할 수 있습니다.

        function name() {
            $.getJSON("", function(d) {
                alert("success");
            }).done(function(d) {
                alert("done");
            }).fail(function(d) {
                alert("error");
            }).always(function(d) {
                alert("complete");
            });
        }

에러의 원인을 확인하려면 , 풀 버전을 사용합니다.

function name() {
    $.getJSON("", function(d) {
        alert("success");
    }).fail( function(d, textStatus, error) {
        console.error("getJSON failed, status: " + textStatus + ", error: "+error)
    });
}

JSON의 형식이 적절하지 않으면 다음과 같은 것을 볼 수 있습니다.

getJSON failed, status: parsererror, error: SyntaxError: JSON Parse error: Unrecognized token '/'

URL이 틀리면 다음과 같은 메시지가 나타납니다.

getJSON failed, status: error, error: Not Found

Same-origin 정책을 위반하여 다른 도메인에서 JSON을 가져오려고 하면 이 접근법은 빈 메시지를 반환합니다.JSONP(제한 사항이 있음) 또는 선호하는 CORS(Cross-Origin Resource Sharing) 방법을 사용하여 동일한 원본 정책을 처리할 수 있습니다.

매뉴얼에서 직접:

중요:jQuery 1.4에서는 JSON 파일에 구문 오류가 있는 경우 요청이 자동으로 실패합니다.

문서 페이지에 기재되어 있듯이 getJSON은 단순한 줄임말입니다.

$.ajax({
    url: url,
    dataType: 'json',
    data: data,
    success: callback
});

장애 동작을 얻으려면 다음과 같이 $.ajax를 사용합니다.

$.ajax({
    url: url,
    dataType: 'json',
    data: data,
    success: callback,
    error: another callback
});

대신 를 사용하여dataType옵션을 "json"으로 지정합니다.매뉴얼에서 다음 항목을 참조하십시오.

"json": 응답을 JSON으로 평가하고 JavaScript 개체를 반환합니다.jQuery 1.4에서는 JSON 데이터는 엄밀한 방법으로 해석됩니다.부정한 형식의 JSON은 거부되고 해석 오류가 발생합니다(올바른 JSON 포맷에 대한 자세한 내용은 json.org 참조).

이 API의 문서를 참조해 주십시오..오류가 있습니다.

http://api.jquery.com/jQuery.getJSON/

응답으로서 JSONP 를 요구하고 있는 경우는, 응답이 없는 경우(네트워크의 정지등) 사일런트 에러가 발생합니다.자세한 내용은 이 스레드를 참조하십시오.

언급URL : https://stackoverflow.com/questions/5492838/why-does-getjson-silently-fail

반응형