$ .when (). done ()의 잘못된 응답

rad11

나는 화가 난 이유를 이해할 수 없기 때문에 여러 아약스를 보낼 문제가 있을 때 jquery 의 예를 사용하려고했습니다 . 일반적으로 하나 이상의 ajax를 보내려고하면 응답이 나쁩니다.

나는 다음과 같이하고있다.

Workflow.prototype.ajaxWorkflowsPaymentProcessTransitionsAvailable = function (barcodes) {
        var workflow = this;
        return $.ajax({
            url: "api/v1.0/workflows/paymentProcess/transitions/available",
            type: "POST",
            data: {barcodes: barcodes},
            dataType: 'JSON'
        });
    };
Workflow.prototype.ajaxViewsDocuments = function (fd) {
        var workflow = this;
        
        return $.ajax({
            url: "api/v1.0/views/documents",
            type: "POST",
            data: fd,
            processData: false,
            contentType: false,
            dataType: 'JSON'
        });
    };

$.when(workflow.ajaxViewsDocuments(fd), workflow.ajaxWorkflowsPaymentProcessTransitionsAvailable(barcodes)).done(function(a1, a2){
            console.log(a1, a2);
        });

그리고 나는 이것을 console.log에 얻었습니다.

여기에 이미지 설명 입력

그러나 서버 응답 :

여기에 이미지 설명 입력 여기에 이미지 설명 입력

서버를 반환하는 동일한 응답을 어떻게 얻을 수 있습니까?

jfriend00

jQuery ajax는 세 가지 결과를 반환합니다. 따라서에서 두 개의 ajax 호출을 사용할 때 콜백에 전달 된 $.when()각 인수에는 $.when()두 개의 배열이 전달됩니다. 여기서 각 배열에는 ajax 호출에 대한 세 개의 인수가 있습니다.

따라서 코드에서 다음을 변경하십시오.

console.log(a1, a2);

이에:

console.log(a1[0], a2[0]);

당신이 jQuery를 아약스 호출에서 다시 얻는 세 가지 일반적인 인수에 전달된다 a1[0], a1[1], a2[2]. 반환 된 데이터 인수는 [0]각 배열 요소에 있습니다. 여기 에서 문서의 예를 볼 수 있습니다 .


$.ajax()세 개의 결과 값을 가져 와서 하나의 결과 값으로 잘라낸 다음 $.when()배열에 넣지 않는 자체 래퍼를 만들 수 있습니다 .

// wrapper function to make return result from $.ajax() be one single argument
$.ajax2 = function() {
    return $.ajax.apply($, arguments).then(function(result) {
        // return only single result, not all three typical arguments
        // so $.when() won't put the args in an array
        return result;
    });
};

그런 다음 다음과 같이 사용합니다 (에서 $.ajax()변경됨 $.ajax2()).

Workflow.prototype.ajaxWorkflowsPaymentProcessTransitionsAvailable = function (barcodes) {
    var workflow = this;
    return $.ajax2({
        url: "api/v1.0/workflows/paymentProcess/transitions/available",
        type: "POST",
        data: {barcodes: barcodes},
        dataType: 'JSON'
    });
};
Workflow.prototype.ajaxViewsDocuments = function (fd) {
    var workflow = this;

    return $.ajax2({
        url: "api/v1.0/views/documents",
        type: "POST",
        data: fd,
        processData: false,
        contentType: false,
        dataType: 'JSON'
    });
};

$.when(workflow.ajaxViewsDocuments(fd), workflow.ajaxWorkflowsPaymentProcessTransitionsAvailable(barcodes)).done(function (a1, a2) {
    console.log(a1, a2);
});

jQuery 1.x, 2.x 및 3.x로 개념을 테스트했습니다. https://jsfiddle.net/jfriend00/2mcLsw3f/

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Alamofire의 잘못된 응답?

분류에서Dev

JSON 응답 AJAX의 잘못된 형식

분류에서Dev

Keycloak : 외부 IdP에 의한 잘못된 SAML 응답

분류에서Dev

서버 후 GET 요청의 잘못된 응답

분류에서Dev

S3 다중 객체 삭제의 잘못된 JSON 응답

분류에서Dev

Android Retrofit 2 : 임의 코드 400 (잘못된 요청) 응답

분류에서Dev

android-apollo의 응답에 잘못된 JSON 문자열

분류에서Dev

잘못된 JSON 응답

분류에서Dev

AJAX : 잘못된 JSON 응답

분류에서Dev

Django 잘못된 JSON 응답

분류에서Dev

잘못된 JSON 응답

분류에서Dev

잘못된 응답 받기

분류에서Dev

C #에서 잘못된 응답 (일부 임의의 문자) 받기

분류에서Dev

prompt ()의 응답을 확인합니다. 잘못된 응답에 대해 다시 프롬프트

분류에서Dev

잘못된 응답 지연이있는 현장의 Modbus RTU 하드웨어

분류에서Dev

Angular- 항상 400 개의 잘못된 요청 응답을받습니다.

분류에서Dev

Identity Toolkit이 작동하지 않음-오류 코드 : IDP의 잘못된 응답

분류에서Dev

내 REST 애플리케이션의 응답에서 잘못된 JSON 형식

분류에서Dev

codechef : smallfactorial의 잘못된 대답 오류

분류에서Dev

SUBSEQ spoj의 잘못된 답변

분류에서Dev

잘못된 양식 입력에 대한 렌더링 된 HTML 응답의 HTTP 상태

분류에서Dev

FetchError : 잘못된 json 응답 본문

분류에서Dev

잘못된 Lambda 프록시 응답-Python

분류에서Dev

Rails API route Resources 잘못된 응답

분류에서Dev

Instagram 잘못된 응답 오류-400

분류에서Dev

잘못된 UIView에 응답하는 UITapGestureRecognizer

분류에서Dev

ON DUPLICATE KEY UPDATE 잘못된 응답

분류에서Dev

나머지 API의 잘못된 입력에 대한 신속한 오류 유형 서버 응답

분류에서Dev

C #의 Json Deserializer가 Json 요청 응답에서 잘못된 값을 반환합니다.

Related 관련 기사

  1. 1

    Alamofire의 잘못된 응답?

  2. 2

    JSON 응답 AJAX의 잘못된 형식

  3. 3

    Keycloak : 외부 IdP에 의한 잘못된 SAML 응답

  4. 4

    서버 후 GET 요청의 잘못된 응답

  5. 5

    S3 다중 객체 삭제의 잘못된 JSON 응답

  6. 6

    Android Retrofit 2 : 임의 코드 400 (잘못된 요청) 응답

  7. 7

    android-apollo의 응답에 잘못된 JSON 문자열

  8. 8

    잘못된 JSON 응답

  9. 9

    AJAX : 잘못된 JSON 응답

  10. 10

    Django 잘못된 JSON 응답

  11. 11

    잘못된 JSON 응답

  12. 12

    잘못된 응답 받기

  13. 13

    C #에서 잘못된 응답 (일부 임의의 문자) 받기

  14. 14

    prompt ()의 응답을 확인합니다. 잘못된 응답에 대해 다시 프롬프트

  15. 15

    잘못된 응답 지연이있는 현장의 Modbus RTU 하드웨어

  16. 16

    Angular- 항상 400 개의 잘못된 요청 응답을받습니다.

  17. 17

    Identity Toolkit이 작동하지 않음-오류 코드 : IDP의 잘못된 응답

  18. 18

    내 REST 애플리케이션의 응답에서 잘못된 JSON 형식

  19. 19

    codechef : smallfactorial의 잘못된 대답 오류

  20. 20

    SUBSEQ spoj의 잘못된 답변

  21. 21

    잘못된 양식 입력에 대한 렌더링 된 HTML 응답의 HTTP 상태

  22. 22

    FetchError : 잘못된 json 응답 본문

  23. 23

    잘못된 Lambda 프록시 응답-Python

  24. 24

    Rails API route Resources 잘못된 응답

  25. 25

    Instagram 잘못된 응답 오류-400

  26. 26

    잘못된 UIView에 응답하는 UITapGestureRecognizer

  27. 27

    ON DUPLICATE KEY UPDATE 잘못된 응답

  28. 28

    나머지 API의 잘못된 입력에 대한 신속한 오류 유형 서버 응답

  29. 29

    C #의 Json Deserializer가 Json 요청 응답에서 잘못된 값을 반환합니다.

뜨겁다태그

보관