http.get () 역 직렬화 된 JSON을 가져 오지만 HTTP 응답을 반환합니까?

카일 V.

내 Angular 앱에는 baseController에 자체 범위를 삽입하여 정의 된 함수에 액세스 할 수 있는 baseController.js클래스와 클래스 exampleController.js가 있습니다 baseController. 이를 통해 모든 컨트롤러간에 기능을 공유 할 수 있습니다.

에서 getDataFromUrl()함수를 호출하려는 경우를 제외하고는 작동 exampleController합니다. 디버깅하는 동안 getDataFromUrl()호출 되는 것을 볼 수 .success()있으며 $http.get()호출 기능으로 들어갑니다 . 그 시점에서 나는 그것이 datadeserialized JSON 객체 (이 경우 객체의 배열)임을 알 수 있지만 코드가 마침내 exampleControllerinitArray()함수로 돌아올 data때 궁극적으로 수신하는 것은 더 이상 deserialized 객체가 아니지만 원시 HTTP 응답 데이터.

baseController.js :

// Data retrieval function for all derived controllers
$scope.getDataFromUrl = function (url) {
    return $http.get(url)
    .success(function (data) {
        return data;
    })
    .error(function () {
        return null;
    });
};

exampleController.js :

appModule.controller('exampleController', [
        '$scope', '$controller', '$http', '$window', '$location', '$timeout',
        function ($scope, $controller, $http, $window, $location, $timeout) {
            var base = $controller('baseController', { $scope: $scope });

            // Initiate an array of data
            var initArray = function (data) {
                $scope.sortedArray = sortDataByDate(data);
            };

            // Calling function in scope defined by base controller class
            $scope.getDataFromUrl('resources/data').then(function (data) {
                initArray(data);
            });
}]);

HTTP 응답으로 data돌아 오는 이유는 무엇 exampleController입니까? 역 직렬화 된 JSON으로 유지하고 싶습니다!

카일 V.

그것을 알아 냈고, .then()결과로 발생하지 않기 때문에 원시 응답 데이터를 얻고 있었기 때문에 .success()자식 컨트롤러에 도착하는 데이터는 처음부터 역 직렬화되지 않았습니다. 다음은 올바른 코드입니다.

baseController.js :

// Data retrieval function for all derived controllers
$scope.getDataFromUrl = function (url, successFunction) {
    $http.get(url)
    .success(function (data) {
        successFunction(data);
    })
    .error(function () {
        return null; // Or whatever you want to return
    });
};

exampleController.js :

appModule.controller('exampleController', [
        '$scope', '$controller', '$http', '$window', '$location', '$timeout',
        function ($scope, $controller, $http, $window, $location, $timeout) {
            var base = $controller('baseController', { $scope: $scope });

            // Initiate an array of data
            var initArray = function (data) {
                $scope.sortedArray = sortDataByDate(data);
            };

            // Calling function in scope defined by base controller class
            $scope.getDataFromUrl('resources/data', function (data) {
                initArray(data);
            });
}]);

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

JSON 역 직렬화 된 HTTP 응답 개체에 대한 ASP.NET 전달 변수

분류에서Dev

URL에서 중첩 된 http 응답을 가져 오는 Bash 스크립트

분류에서Dev

c # 중첩 된 Json 역 직렬화는 null을 반환합니다.

분류에서Dev

Xml을 개체로 역 직렬화하는 동안 오류가 발생했습니다. {<string xmlns = 'http : //tempuri.org/'>가 예상되지 않았습니다.}

분류에서Dev

JSON 응답을 역 직렬화 할 수 없습니다.

분류에서Dev

Angular http의 JSON 개체가 제대로 역 직렬화되지 않음

분류에서Dev

json 문자열의 역 직렬화가 null 값을 반환합니다.

분류에서Dev

$ http POST가 올바른 응답을 반환하지 않음

분류에서Dev

HTTP JSON 응답을 HTML (Ionic2, Angular2, TypeScript, PHP, JSON)로 가져 오는 방법은 무엇입니까?

분류에서Dev

Swagger codegen은 동적 응답을 역 직렬화합니다.

분류에서Dev

뷰에 의해 호출 된 함수에서 HTTP 응답을 반환합니다.

분류에서Dev

서버에서 오류 응답을 역 직렬화 할 때 NPE

분류에서Dev

Angular 2의 HTTP GET은 로그인을 위해 HTTP POST에서 수신 된 응답을 트리거합니다.

분류에서Dev

직렬화 후 저지로 json을 역 직렬화 할 수 없습니까?

분류에서Dev

C # 역 직렬화 된 JSON 가져 오기를 공개하는 방법은 무엇입니까?

분류에서Dev

어떻게 직렬화 된 일반 목록으로 json 파일을 역 직렬화 할 수 있습니까?

분류에서Dev

응답 본문을 가져오고 컬로 HTTP 코드 표시

분류에서Dev

불완전한 HTML을 가져 오는 http 응답 텍스트

분류에서Dev

Zoho Docs API 응답을 역 직렬화 할 수 없습니다.

분류에서Dev

NULL을 가져 오는 VB.NET 개체에 대한 JSON의 역 직렬화

분류에서Dev

나머지 서비스에서 반환 된 xml을 역 직렬화하는 문제를 어떻게 해결합니까?

분류에서Dev

listview에서 json 응답을 역 직렬화 할 수 없습니다.

분류에서Dev

XmlSerializer가 DateTime을 역 직렬화하지 않습니다.

분류에서Dev

RestSharp는 내 JSON 응답을 제대로 자동 역 직렬화 할 수 없지만 JSON.NET은 할 수 있습니다. 이유는 무엇입니까?

분류에서Dev

JSON.NET으로 중첩 된 JSON 응답 역 직렬화

분류에서Dev

Finatra FeatureTests : 반환 된 json을 수동으로 역 직렬화하는 방법

분류에서Dev

JSON 응답이 C #에서 역 직렬화되지 않습니까?

분류에서Dev

TCP가 여러 HTTP 응답에 동일한 응답을 사용합니까?

분류에서Dev

Jackson JSON을 사용하여 비대칭 직렬화 및 역 직렬화가 가능합니까?

Related 관련 기사

  1. 1

    JSON 역 직렬화 된 HTTP 응답 개체에 대한 ASP.NET 전달 변수

  2. 2

    URL에서 중첩 된 http 응답을 가져 오는 Bash 스크립트

  3. 3

    c # 중첩 된 Json 역 직렬화는 null을 반환합니다.

  4. 4

    Xml을 개체로 역 직렬화하는 동안 오류가 발생했습니다. {<string xmlns = 'http : //tempuri.org/'>가 예상되지 않았습니다.}

  5. 5

    JSON 응답을 역 직렬화 할 수 없습니다.

  6. 6

    Angular http의 JSON 개체가 제대로 역 직렬화되지 않음

  7. 7

    json 문자열의 역 직렬화가 null 값을 반환합니다.

  8. 8

    $ http POST가 올바른 응답을 반환하지 않음

  9. 9

    HTTP JSON 응답을 HTML (Ionic2, Angular2, TypeScript, PHP, JSON)로 가져 오는 방법은 무엇입니까?

  10. 10

    Swagger codegen은 동적 응답을 역 직렬화합니다.

  11. 11

    뷰에 의해 호출 된 함수에서 HTTP 응답을 반환합니다.

  12. 12

    서버에서 오류 응답을 역 직렬화 할 때 NPE

  13. 13

    Angular 2의 HTTP GET은 로그인을 위해 HTTP POST에서 수신 된 응답을 트리거합니다.

  14. 14

    직렬화 후 저지로 json을 역 직렬화 할 수 없습니까?

  15. 15

    C # 역 직렬화 된 JSON 가져 오기를 공개하는 방법은 무엇입니까?

  16. 16

    어떻게 직렬화 된 일반 목록으로 json 파일을 역 직렬화 할 수 있습니까?

  17. 17

    응답 본문을 가져오고 컬로 HTTP 코드 표시

  18. 18

    불완전한 HTML을 가져 오는 http 응답 텍스트

  19. 19

    Zoho Docs API 응답을 역 직렬화 할 수 없습니다.

  20. 20

    NULL을 가져 오는 VB.NET 개체에 대한 JSON의 역 직렬화

  21. 21

    나머지 서비스에서 반환 된 xml을 역 직렬화하는 문제를 어떻게 해결합니까?

  22. 22

    listview에서 json 응답을 역 직렬화 할 수 없습니다.

  23. 23

    XmlSerializer가 DateTime을 역 직렬화하지 않습니다.

  24. 24

    RestSharp는 내 JSON 응답을 제대로 자동 역 직렬화 할 수 없지만 JSON.NET은 할 수 있습니다. 이유는 무엇입니까?

  25. 25

    JSON.NET으로 중첩 된 JSON 응답 역 직렬화

  26. 26

    Finatra FeatureTests : 반환 된 json을 수동으로 역 직렬화하는 방법

  27. 27

    JSON 응답이 C #에서 역 직렬화되지 않습니까?

  28. 28

    TCP가 여러 HTTP 응답에 동일한 응답을 사용합니까?

  29. 29

    Jackson JSON을 사용하여 비대칭 직렬화 및 역 직렬화가 가능합니까?

뜨겁다태그

보관