我正在尝试将帖子请求发送到带有帖子数据的服务器 它将请求发送到服务器,但格式不正确
请求网址如/ rest / api / modifyuser /?currentPassword = admin& newPassword = admin
就像GET请求 - (可能是这个问题)
我是angularjs的新手。请分享想法来解决这个问题
这是我的代码
In controller
var currentPass = "admin";
var newPass = "admin";
var confirmPass = "admin";
var authToken = "abcdef";
User.changePassword(currentPass, newPass, confirmPass, authToken, function(response) {
angular.forEach(response, function (item) {
alert("resp"+ item);
});
});
在服务中
UIAppResource.factory('User', function($resource) {
return {
changePassword: function(currentPass, newPass, confirmPass, authtoken, callback) {
var Resq = $resource(baseURL + "modifyuser", {}, {
'query': {
method: 'POST',
params: {
'currentPassword': currentPass,
'newPassword': newPass,
'confirmPassword': confirmPass
},
headers: {
'Accept':'application/json',
'Content-Type':'application/json',
'X-Internal-Auth-Token': authtoken
},
isArray: false
}
});
Resq.query(callback);
}
};
});
提前致谢
答案 0 :(得分:1)
我不想说你做错了..但你是def。虐待事物。使用POST
ng-resource
的默认方式是使用save。其次,发送数据的默认方式是使用您想要的数据实例化$resource
工厂。请参阅下面的_resource
。我们传递了我们想要的数据,它会自动转换它,如果它是POST
在体内发送它,或者在GET
的情况下,它将变成查询参数。
UIAppResource.factory('User', function($resource) {
return {
changePassword: function(currentPass,
newPass,
confirmPass,
authtoken,
callback
) {
var Resq = $resource(baseURL + "modifyuser", {}, {
'save': {
method: 'POST',
headers: {
'Accept':'application/json',
'Content-Type':'application/json',
'X-Internal-Auth-Token': authtoken
}
}
});
var _resource = new Resq({
'currentPassword': currentPass,
'newPassword': newPass,
'confirmPassword': confirmPass
});
_resource.$save(callback);
}
};
});