gpt4 book ai didi

javascript - AngularJS - 在 POST 请求的正文中发送数据

转载 作者:行者123 更新时间:2023-11-30 12:24:09 24 4
gpt4 key购买 nike

我正在尝试将 POST 请求正文中的数据发送到我的 AngularJS 应用程序中的 RESTful API。

此请求的当前结构是一个 Controller ,它获取数据并将其发送到一个服务,然后该服务从其关联的工厂调用请求strong>,如下:

Controller

userService.saveReport(vm.user.id, searchParams)

服务

service.saveReport = function (id, searchData) {
var deferred = $q.defer();

user.saveReport({ userID: id, searchData: searchData }, function(response) {
deferred.resolve(response);
}, function(e) {
deferred.reject(e);
});

return deferred.promise;
};

工厂

    function user($resource, $localStorage, constants) {
return $resource(constants.API_URL + '/users', { userID: '@userID' }, {
getReports: {
method: 'GET',
url: constants.API_URL + '/users/:userID/reports',
format: 'json',
headers: {
'Accept': 'application/vnd.abp.v1+json',
'X-Mode': function() {
return $localStorage.get('mode');
}
}
},
saveReport: {
method: 'POST',
url: constants.API_URL + '/users/:userID/reports',
format: 'json',
headers: {
'Accept': 'application/vnd.abp.v1+json',
'X-Mode': function() {
return $localStorage.get('mode');
}
}
}
});
}

angular
.module('abp')
.factory('user', user);

})();

我看过各种帖子,其中声明 $resource 允许发送 data: 以形成请求的主体,但这似乎不起作用.我试图将 searchData: '@searchData' 添加到 $resource 调用允许的参数中,然后将其添加到数据部分,如下所示,但这并没有t 工作(为简洁起见压缩):

return $resource(constants.API_URL + '/users', { userID: '@userID', searchData: '@searchData' }, {
saveReport: {
method: 'POST',
url: constants.API_URL + '/users/:userID/reports',
format: 'json',
data: ':searchData',
headers: {
'Accept': 'application/vnd.abp.v1+json',
'X-Mode': function() {
return $localStorage.get('mode');
}
}
}
}

如何在 POST 请求的正文中发送此请求的数据?

最佳答案

好的,所以我现在通过更改在服务 中发送searchData 的方式设法使它正常工作。我的 controllerfactory 保持不变,但我已将服务更改为以下内容,这似乎非常完美:

service.saveReport = function (id, searchData) {
var deferred = $q.defer();

user.saveReport({ userID: id }, searchData, function(response) {
deferred.resolve(response);
}, function(e) {
deferred.reject(e);
});

return deferred.promise;
};

关于javascript - AngularJS - 在 POST 请求的正文中发送数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30070586/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com