这很简单,但它起作用了
在angularJS部分中的我有这个代码:
var data={"ID":1,"Key":"********"}
$http.post("/Home/DeleteListItem", data)
.success(function (data) {
alert(JSON.parse(data));
}).error(function (response) {
alert(response);
});
和C#Part就像这样
[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; }
}
我使用这种后置方法作为第二种方法,但仍然很有效
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) {
});
答案 0 :(得分:1)
无法访问您的ID和密钥属性。放在您的属性 public 访问修饰符之前,如下所示:
public class Entity
{
public int ID { set; get; }
public string Key { set; get; }
}
答案 1 :(得分:0)
尝试使用jquery $ .param(data)。 您也可以尝试使用angular $ httpParamSerializer https://code.angularjs.org/1.4.0/docs/api/ng/service/ $ httpParamSerializer
答案 2 :(得分:0)
试试这个
$http.post("/Home/DeleteListItem", data)
.then(function(successResponse){
//Your code to handle response
},
function(errorResponse) {
//your code to handle error
});