응답이 특정 크기를 초과하면 AJAX에서 오류가 발생 함

Wim Ombelets

ASP.NET 4.5. asmx web service(분리되지 않은 웹 양식 프로젝트의 일부) xml string사용자가 테이블 행을 두 번 클릭 할 때마다를 반환하여 해당 행에 대한 세부 정보를 데이터베이스에서 검색 할 수 있습니다.

이것은 그 자체로 잘 작동합니다.

응답이 다소 이상하지만 상황에서 (약 200K, 300K 문자 개수 내가 무엇을 볼 수에서), 웹 페이지는 JS 경고 팝업 (말 "오류")을 던질 것이고, 나는를 볼 수 있습니다 500 Internal Server ErrorChrome console더, 세부. 그러나 웹 메서드 URL로 이동하여 수동으로 인수를 입력하면 문제없이 응답으로 즉각적이고 완전한 xml 문자열을 얻을 수 있습니다 .

다음 (동기) js / ajax를 사용하여 웹 메서드를 호출하고 있습니다.

function GetDetailsFromTableRow(userID, country, rowName) {
    var url = "http://MyServer/MyWebService.asmx/MyWebMethod",
        result = '';

    $.ajax({
        type: "POST",
        async: false,
        url: url,
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        data: JSON.stringify({
            'userID': userID,
            'country': country,
            'rowName': rowName
        }),
        success: function (response) {
            result = response.d;
        },
        error: function (x, t, m) {
            if (t === "timeout") {
                alert('timeout!');
            }
            else {
                alert(t); //<- this gets thrown apparently
            }
        }
    });

    return result;
}

이 js에서이 함수가 실제로 타임 아웃을 던지지 않는지 확인할 수 있으므로 제거 할 수 있다고 확신합니다.

또한 몇 백 킬로바이트에 불과하지만 여전히 데이터에 대한 응답을 청크 할 필요가 없다고 생각합니다 . 제가 틀렸을 수도 있습니다.

또한 웹 메서드를 호출하는 더 나은 방법이 비동기식이라는 것을 잘 알고 있지만 다른 (실질적인) 데이터를 이미 (비동기 및 동기화 방식으로) 호출하는 데 성공하고 있으므로 이유 에 대한 답변을 찾고 있습니다. 이것은 전체 이야기의 일부를 분명히 이해하지 못하기 때문에 특정 크기 이상의 응답에는 작동하지 않습니다 (나는 80kB이고 일부는 200 + kB, 전자는 그렇지 않습니다).

완전성을 위해 : async=true웹 서비스를 호출하면 똑같은 동작이 발생합니다.

Wim Ombelets

IE에서 js를 디버깅하면 다음 오류가 발생했습니다.

JSON JavaScriptSerializer를 사용하여 직렬화 또는 역 직렬화하는 동안 오류가 발생했습니다. 문자열 길이가 maxJsonLength 속성에 설정된 값을 초과합니다.

이 답변 (및 수정 주석) 에서 언급했듯이 다음 항목을 추가 web.config하면 maxJsonLength증가합니다 int.MaxValue.

<system.web.extensions>
    <scripting>
        <webServices>
            <jsonSerialization maxJsonLength="2147483644"></jsonSerialization>
        </webServices>
    </scripting>
</system.web.extensions>

후속 테스트는 모두 성공적입니다. 문제가 해결되었습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

PowerShell 시작 프로세스 [powershell]를 통해 시작하면 특정 .exe에서 오류가 발생 함

분류에서Dev

Windows 10에서 2TB를 초과하여 외장 드라이브에 쓸 때 오류가 발생 함

분류에서Dev

AJAX GET 요청이 응답을 받았음에도 오류가 발생 함

분류에서Dev

함수가 포함 된 페이지를 포함하면 PHP에서 정의되지 않은 함수 오류가 발생합니다.

분류에서Dev

GCP에서 IAM 구성원을 만들면 오류가 발생 함 정책 크기가 너무 큽니다.

분류에서Dev

이미지 크기를 설정하려고하지만 setState에서 오류가 발생합니다.

분류에서Dev

특정 속성에 대한 결과를 얻으려고합니까? 이 오류가 발생하는 이유

분류에서Dev

함수를 기본 특성 메서드로 이동하면 차용 오류가 발생하는 이유는 무엇입니까?

분류에서Dev

페이로드가 특정 크기를 초과하면 "비동기 작업 시간 초과"예외와 함께 Java REST API 호출이 실패합니다.

분류에서Dev

이메일 본문에 특수 문자를 보내는 동안 오류가 발생하는 $ .ajax Post 메서드

분류에서Dev

오류가 발생하면 qtp에서 이메일을 보내는 함수를 호출하십시오.

분류에서Dev

특정 형식으로 Quill을 초기화하려고 시도하고 오류가 발생 함

분류에서Dev

USB에 Chromium OS를 설치하면 오류가 발생 함

분류에서Dev

데이터베이스에서 가져오고 HTTP 응답에 결과를 반환하는 동안 오류가 발생했습니다.

분류에서Dev

SQL 스크립트에 너무 많은 시간이 걸리고 시간 초과 오류가 발생 함

분류에서Dev

더 작은 크기의 JSON 응답 후 UITableView를 업데이트하는 동안 오류가 발생합니까?

분류에서Dev

크기를 조정하면 오류가 발생합니까?

분류에서Dev

제네릭 클래스 외부에서 함수를 정의하면 컴파일 오류가 발생합니다.

분류에서Dev

바이너리를 이동하기 위해 make를 실행할 때 Homebrew에서 오류가 발생 함

분류에서Dev

js 콜백 함수에서 오류가 발생하는 이유

분류에서Dev

시간 초과와 함께 IPC :: Run을 사용하면 읽기 전용 값 수정 오류가 발생합니다.

분류에서Dev

모듈이 포함 된 디렉토리를 가져 오려고하면 Webpack에 오류가 발생합니다.

분류에서Dev

함수를 삭제하면 C의 연결 목록에서 오류가 발생하는 이유

분류에서Dev

tar에 --ignore-failed-read를 추가하면 "알 수없는 함수 수정 자"오류가 발생합니다.

분류에서Dev

클라이언트는 500 응답 오류를 가져옵니다 왜 서버는 스프링 통합-HTTP에 오류가 발생하지 않지만?

분류에서Dev

버튼에서 데이터 세부 정보를 사용하려고하지만 예기치 않은 오류가 발생 함

분류에서Dev

가변 템플릿 함수를 호출하면 Visual Studio 2015에서 오류 C2660이 발생합니다.

분류에서Dev

React Redux Redux Form-<Field> 내에서 함수를 이동하면 오류가 발생합니다.

분류에서Dev

이전 Delphi 2007에서 Delphi XE4 프로젝트를로드하면 오류가 발생 함

Related 관련 기사

  1. 1

    PowerShell 시작 프로세스 [powershell]를 통해 시작하면 특정 .exe에서 오류가 발생 함

  2. 2

    Windows 10에서 2TB를 초과하여 외장 드라이브에 쓸 때 오류가 발생 함

  3. 3

    AJAX GET 요청이 응답을 받았음에도 오류가 발생 함

  4. 4

    함수가 포함 된 페이지를 포함하면 PHP에서 정의되지 않은 함수 오류가 발생합니다.

  5. 5

    GCP에서 IAM 구성원을 만들면 오류가 발생 함 정책 크기가 너무 큽니다.

  6. 6

    이미지 크기를 설정하려고하지만 setState에서 오류가 발생합니다.

  7. 7

    특정 속성에 대한 결과를 얻으려고합니까? 이 오류가 발생하는 이유

  8. 8

    함수를 기본 특성 메서드로 이동하면 차용 오류가 발생하는 이유는 무엇입니까?

  9. 9

    페이로드가 특정 크기를 초과하면 "비동기 작업 시간 초과"예외와 함께 Java REST API 호출이 실패합니다.

  10. 10

    이메일 본문에 특수 문자를 보내는 동안 오류가 발생하는 $ .ajax Post 메서드

  11. 11

    오류가 발생하면 qtp에서 이메일을 보내는 함수를 호출하십시오.

  12. 12

    특정 형식으로 Quill을 초기화하려고 시도하고 오류가 발생 함

  13. 13

    USB에 Chromium OS를 설치하면 오류가 발생 함

  14. 14

    데이터베이스에서 가져오고 HTTP 응답에 결과를 반환하는 동안 오류가 발생했습니다.

  15. 15

    SQL 스크립트에 너무 많은 시간이 걸리고 시간 초과 오류가 발생 함

  16. 16

    더 작은 크기의 JSON 응답 후 UITableView를 업데이트하는 동안 오류가 발생합니까?

  17. 17

    크기를 조정하면 오류가 발생합니까?

  18. 18

    제네릭 클래스 외부에서 함수를 정의하면 컴파일 오류가 발생합니다.

  19. 19

    바이너리를 이동하기 위해 make를 실행할 때 Homebrew에서 오류가 발생 함

  20. 20

    js 콜백 함수에서 오류가 발생하는 이유

  21. 21

    시간 초과와 함께 IPC :: Run을 사용하면 읽기 전용 값 수정 오류가 발생합니다.

  22. 22

    모듈이 포함 된 디렉토리를 가져 오려고하면 Webpack에 오류가 발생합니다.

  23. 23

    함수를 삭제하면 C의 연결 목록에서 오류가 발생하는 이유

  24. 24

    tar에 --ignore-failed-read를 추가하면 "알 수없는 함수 수정 자"오류가 발생합니다.

  25. 25

    클라이언트는 500 응답 오류를 가져옵니다 왜 서버는 스프링 통합-HTTP에 오류가 발생하지 않지만?

  26. 26

    버튼에서 데이터 세부 정보를 사용하려고하지만 예기치 않은 오류가 발생 함

  27. 27

    가변 템플릿 함수를 호출하면 Visual Studio 2015에서 오류 C2660이 발생합니다.

  28. 28

    React Redux Redux Form-<Field> 내에서 함수를 이동하면 오류가 발생합니다.

  29. 29

    이전 Delphi 2007에서 Delphi XE4 프로젝트를로드하면 오류가 발생 함

뜨겁다태그

보관