当我将JSON数据从AngularJS传递到MVC时。我遇到错误了。
Http请求配置url必须是字符串或$ sce受信任对象。收到:{“方法”:“ POST”,“ url”:“ Home / SavePDDetails”,“数据类型”:“ json”,“数据”:{“ PD”:{“名称”:“ qqq”,“地址” :“ www”}}}
[HttpPost]
public JsonResult SavePDDetails(PDDetailsDTO PD)
{
new PDDetailsDAL().SavePDDetails(PD);
return Json(new { Success = true, Message = "Success" });
}
$scope.Click = function() {
console.log('clicked');
$http.post({
method: 'POST',
url: 'Home/SavePDDetails',
datatype: "json",
data: {
PD: $scope.PD
}
}).success(function(response) {
console.log('success');
console.log(response);
}).error(function(response) {
console.log('error');
console.log(response);
});
}
答案 0 :(得分:1)
如果将数据和url作为config
对象的属性进行传递,请不要使用$http.post
方法。只需使用$http
:
̶$̶h̶t̶t̶p̶.̶p̶o̶s̶t̶(̶{̶
$http({
method: 'POST',
url: 'Home/SavePDDetails',
̶d̶a̶t̶a̶t̶y̶p̶e̶:̶ ̶"̶j̶s̶o̶n̶"̶,̶
data: {
PD: $scope.PD
}
})
$http Service不需要自动对数据进行分类。
答案 1 :(得分:-1)
在功能中尝试以下操作。
使用JSON.stringify()包装您的json
var parameter = JSON.stringify({PD: $scope.PD});
$http.post('Home/SavePDDetails', parameter).
success(function(data, status, headers, config) {
// this callback will be called asynchronously
// when the response is available
console.log(data);
}).
error(function(data, status, headers, config) {
// called asynchronously if an error occurs
// or server returns response with an error status.
});