【发布时间】:2017-05-01 17:04:50
【问题描述】:
这很简单,但是没用
在 angularJS 部分我有这个代码:
var data={"ID":1,"Key":"********"}
$http.post("/Home/DeleteListItem", data)
.success(function (data) {
alert(JSON.parse(data));
}).error(function (response) {
alert(response);
});
而C#部分是这样的
[HttpPost]
public JsonResult DeleteListItem(Entity entity)
{
kishAppEntities db = new kishAppEntities();
Stream req = Request.InputStream;
db.Configuration.ProxyCreationEnabled = false;
var data = //some delete query
return new JsonResult()
{
Data = data,
JsonRequestBehavior = JsonRequestBehavior.AllowGet
};
}
public class Entity
{
int ID { set; get; }
string Key { set; get; }
}
我使用这个 post 方法作为第二种方法,但仍然无效
var entity = { "ID": 1, "Key": "********" }
$http({
url: "./general/DeleteListItem",
method: "POST",
data: JSON.stringify({
entity: entity
}),
headers: {
'Content-Type': 'application/json'
}
}).success(function(data, status, headers, config) {
}).error(function(data, status, headers, config) {
});
【问题讨论】:
-
您遇到的错误是什么?根据提供的代码,我可以说角度承诺的使用是错误的。使用 $http.post("/Home/DeleteListItem", data).then(function(successResponse){}, function(errorResponse) {});
-
我没有错误。问题是我没有从客户端获取我的帖子数据
-
请看更新
-
请在下面查看我的答案。在异步调用中使用 .success 不是正确的方法。参考:codelord.net/2015/05/25/dont-use-$https-success
标签: c# angularjs http model-view-controller