我试图使用$ http提交一个新的评论。你可能已经从标题中猜到了:它不工作。我尝试了岸版和长版,都失败了。没有控制台错误。
这是我的代码:
$scope.comment = {}; $scope.comment["comment"] = message; // message defined somewhere else $http.post('/api/items/'+$scope.item.id+'/comments',$scope.comment) .success(function(data,status,headers,config) { // this isn't happening: console.debug("saved comment",$scope.comment); }) .error(function(data,$scope.comment); }) }
任何人有什么想法如何使这项工作?谢谢!
更新:
我正在做一个Jquery ajax调用,这是正常工作。这是很高兴得到它有角度工作。这是我的JQuery代码:
var request = $.ajax({ url: '/api/items/'+$scope.item.id+'/comments',type: "POST",data: JSON.stringify($scope.comment),contentType: 'application/json; charset=utf-8',dataType: "json" }); request.done(function(msg) { console.debug("saved comment",$scope.comment); }); request.fail(function(jqXHR,textStatus) { alert( "Request Failed: " + textStatus ); });
如果有任何人有任何想法如何变形,请告诉我,将是很好的做到正确的方式….
在提出请求之前是否曾试过专门设置Content-Type?
我有同样的问题,并设置Content-Type修复它。
$http.defaults.headers.post["Content-Type"] = "application/x-www-form-urlencoded";