angularJS对MVC4 WebAPI2的POST请求不工作
正如标题所说,我正在尝试做一篇angularJS http文章。目标是将数据($scope.econData对象)发布到我的本地WebAPI 2应用程序。我知道post正在执行,因为数据正在写入我的测试数据库(SQL Server,但我认为这与此无关)。然而,所有被写入的数据都是空的,因此它没有被正确地发布。我的html/js:angularJS对MVC4 WebAPI2的POST请求不工作,angularjs,asp.net-mvc-4,http-post,Angularjs,Asp.net Mvc 4,Http Post,正如标题所说,我正在尝试做一篇angularJS http文章。目标是将数据($scope.econData对象)发布到我的本地WebAPI 2应用程序。我知道post正在执行,因为数据正在写入我的测试数据库(SQL Server,但我认为这与此无关)。然而,所有被写入的数据都是空的,因此它没有被正确地发布。我的html/js: <html ng-app="" ng-controller="econAppPostController"> <head> <sc
<html ng-app="" ng-controller="econAppPostController">
<head>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.6/angular.min.js"></script>
<!-- <link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">-->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<!--<script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>></script>
<meta name="viewport" content="width=device-width, initial-scale=1"> -->
</head>
<body>
{{angularVerify}}
{{$scope.responseEconData.item1}}
<script>
function econAppPostController($scope, $http)
{
$scope.angularVerify = "angularJS is running...";
$scope.econData = { "item1": 30, "item2": 40, "item3": 20, "item4": 20, "item5": 20, "item6": 20, "item7": 20, "item8": 20, "item9": 20};
$http.post("http://localhost:XXXXXX/api/econdata", $scope.econData)
.success(function (response) { $scope.responseEconData = response; });
}
</script>
</body>
</html>
------------------------只是尽职调查记录-------------
我一点也不明白,只是插上插头也没用
这对我不管用
”“还是这个
我已经做了半天了,请告诉我最简单的解决方法。在这一点上,我不在乎它是否合适。顺便说一句,这肯定是帖子的问题。最后,我已经阅读了官方的angular文档,不知道该如何设置帖子的格式,所以如果有人能将我链接到某个东西上,那将非常有帮助 您在javascript中的何处注册了econAppPostController?您在html/JS代码上面发布的内容是完整的吗?我在上面发布的内容绝对是所有的代码。我删除了所有不相关的东西。这实际上是应用程序obv的一小部分,但它应该自己工作。不确定这里“registered”指的是什么,我是angularJS noob,它控制整个html文档:控制器从脚本标记的第一行开始定义。我绝对肯定angularJS正在正常工作,问题在于AngularHTTP post的主体/它传输数据的方式。模板中不应该有“$scope”{{{$scope.responseEconData.item1}}。它应该是{{responseEconData.item1}。你是说它成功地发布了其他内容?是的,我已经解决了。就像你从{{angularVerify}看到的那样,只是一个输入错误。我并不太担心,因为我正在检查服务器端/数据库中的数据传输是否正确。我将尝试在今天之前解决这个问题,并发布我的解决方案,即使最后我只是回到jQuery帖子。
public EconData POST(EconData x)
{
EconData econDataInstance = new EconData();
econDataInstance.sqlWriteString = "INSERT INTO EconData(item1,item2, item3, item4,item5, item6, item7,item8, item9) VALUES (" +
econDataInstance.item1 + "," +
econDataInstance.item2 + "," +
econDataInstance.item3 + "," +
econDataInstance.item4 + "," +
econDataInstance.item5 + "," +
econDataInstance.item6 + "," +
econDataInstance.item7 + "," +
econDataInstance.item8 + "," +
econDataInstance.item9 + ")";
econDataInstance.item1 = x.item1;
econDataInstance.item2 = x.item2;
econDataInstance.item1 = x.item3;
econDataInstance.item2 = x.item4;
econDataInstance.item1 = x.item5;
econDataInstance.item2 = x.item6;
econDataInstance.item1 = x.item7;
econDataInstance.item2 = x.item8;
econDataInstance.item2 = x.item9;
//----------------OPEN CONNECTION------------------------------------------------
SqlConnection myConnection = new SqlConnection("user id=username;" +
"password=password;" +
@"Data Source=XXX\SQLEXPRESS;" +
"Trusted_Connection=yes;" +
"Initial Catalog=econAppDB;" +
"connection timeout=30");
myConnection.Open();
//----------------OPEN CONNECTION------------------------------------------------
//----------------WRITE DATA-----------------------------------------------------
SqlCommand insertDataCommand = new SqlCommand (econDataInstance.sqlWriteString, myConnection);
insertDataCommand.ExecuteNonQuery();
//----------------WRITE DATA-----------------------------------------------------
//----------------CLOSE CONNECTION------------------------------------------------
myConnection.Close();
//----------------CLOSE CONNECTION------------------------------------------------
return econDataInstance;
}
}