programing

jQuery ajax 요청이 작동하며 동일한 각도JS Ajax 요청이 수행되지 않음

newnotes 2023. 3. 31. 22:42
반응형

jQuery ajax 요청이 작동하며 동일한 각도JS Ajax 요청이 수행되지 않음

나는 앵글을 배우고 있다.JS와 워드프레스에서 데이터를 가져오는 프런트 엔드 시스템을 구축하려고 합니다.

백엔드 측에서는 모든 것이 올바르게 설정되어 있는 것 같고, jQuery ajax request를 사용하면 문제없이 데이터를 얻을 수 있습니다.

jQuery.ajax({
    type: 'POST',
    url: '/wp-admin/admin-ajax.php',
    data: {
        action: 'getdataajax'
    },
    success: function(data, textStatus, XMLHttpRequest){
        console.log(data);
    },
    error: function(MLHttpRequest, textStatus, errorThrown){
        console.log(errorThrown);
    }
});

하지만 AngularJS에서도 같은 동작을 하려고 하면 동작하지 않습니다.Ajax 요청을 다음과 같은 코드로 복제하려고 합니다.

myApp.factory('productsData', function($http, $log) {
    return {
        getProducts: function(successcb) {
            return $http({ 
                method: 'POST', 
                url: '/wp-admin/admin-ajax.php', 
                data: {action: 'getdataajax'}
            }).success(function(data, status, headers, config) {
                    successcb(data);
                    $log.info(data, status, headers(), config)

            }).error(function(data, status, headers, config) {
                    $log.warn(data, status, headers(), config)
            });
        },

    };
});

로그에 기록하면 0이 출력됩니다.제가 무엇을 빠뜨리고 있나요?

도와주셔서 고마워요.

P.S. 컨트롤러는 다음과 같습니다.

myApp.controller('ProductsController', function ProductsController($scope, productsData) {

    $scope.sortorder = 'name';

    // $scope.products = productsData.products;
    // $scope.products = productsData.getProducts();

    productsData.getProducts(function(products){
        $scope.products = products;
    });
});

angularjs 코드에서params:대신data:.

jquery에서 오브젝트는 에 공급됩니다.data:config 설정은 사용자가 설정하지 않는 한 쿼리 문자열(?key1=val1&key2=value2)로 변환됩니다.processData: false. angularjs 에서는 다음과 같이 해야 합니다.params:쿼리 문자열을 가져오려면data:json 또는 string으로 전송됩니다.

언급URL : https://stackoverflow.com/questions/18967307/jquery-ajax-request-works-same-angularjs-ajax-request-doesnt

반응형