public class TB_CHARGING
{
public string Name { get; set; }
public int Id { get; set; }
}
HttpPost 实体作为参数, 参数必须要和实体一样
[HttpPost]
public string sssss( TB_CHARGING ss) {
return null;
}
前台调用,
var postdata = { Id: "1", Name: "Jim"}; //kv值
$.ajax({
type: "post",
url: "http://localhost:51103/api/values/sssss",
data: postdata,
success: function (data, status) { }
});
//将postdata序列化json 且指定json格式一样可以接收
post dynamic接收
var postdata = { Id: "1", Name: "Jim"};
$.ajax({
type: "post",
url: "http://localhost:51103/api/values/AllChargingData",
data: JSON.stringify(postdata), //一定要序列化 ,要不是不行的
contentType: 'application/json', //还得指定json格式
success: function (data, status) { }
});
[HttpPost]
public string AllChargingData(dynamic obj)
{
var ssss =Convert.ToInt32( obj.Id); //转换
return "ChargingData";
}
get
[HttpGet]
public string s(int Id) {
return null;
}
var postdata = { Id: "1", Name: "Jim"};
$.ajax({
type: "get",
url: "http://localhost:51103/api/values/s",
data: postdata ,
success: function (data, status) { }
});
get的话什么形式都可以的
var postdata = { Id: "1", Name: "Jim"};
$.ajax({
type: "get",
url: "http://localhost:51103/api/values/s",
data: "Id=22" ,
success: function (data, status) { }
});
get用实体接收
[HttpGet]
public string SaveOrder([FromUri]TB_CHARGING obj)
{
return "ChargingData" + obj.Id;
}
<form action="/api/values/SaveOrder" method="get">
<input type="hidden" name="Id" value="1" />
<input type="hidden" name="Name" value="dsddd1" />
<input type="submit" name="name" value="ddddddddddddddddd" />
</form>
或者
var postdata = { Id: "1", Name: "Jim"};
$.ajax({
type: "get",
url: "http://localhost:51103/api/values/SaveOrder",
data: postdata,
success: function (data, status) { }
});
web apiaction默认就是get。。。。的 所以如果action前缀是get或者post......能直接不加[httpget]....访问的到, 但是最好是加上,因为一看就一目了然