根据以前关于posting data back to a server API with Angular的问题的答案,您需要post the data as a plain-text string instead of as Json。
但是,我认为Moodle库中有一个内置函数已经处理过发布到它的Json,在这种情况下我应该能够发送Json。这是对的吗?
如果 正确,我应该对我的Json字符串进行url编码吗?
到目前为止,这是我的功能,它位于我的控制器内。
myApp.controller('mydataCtrl', function ($scope, $http) {
url = concatUrl + 'local_webservice_ws_get_mydata'; // GET
updateUrl = concatUrl + 'local_webservice_ws_set_mydata'; // SET
$http.get(url).then(function (response) {
$scope.mydata = response.data;
});
$scope.sendmypost = function () {
// Writing it to the server
$http.post(updateUrl, $scope.mydata).then(function (response) {
// Success
$scope.server_response = [
{ 'message':'Your settings have been updated' }
];
}, function (response) {
// Error
$scope.server_response = [
{ 'message':'Unexpected error' }
];
});
}
});
答案 0 :(得分:1)
我找到了一个精彩的教程,它将角度数据提交给服务器并返回响应。
<强> $http.post server request in AngularJS 强> 如何使用AngularJS中的HttpPost方法将数据发送到服务器
如果您使用复选框更改服务器上的数据,则需要此Stack Overflow post about how to bind a checkbox to the model。 answer by zsong为我工作。