webapi获取参数方法大全
多个参数无需自定义类,get 就1种写法,post共2种写法
html
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title></title> </head> <body> <div> <form id="form_add"> <p>id:<input type="text" id="id" name="id" value="123" /></p> <p>name:<input type="text" id="name" name="name" value="战神 update 1=1" /></p> <p> <input type="button" value="get" class="btn_get" /> <input type="button" value="post1" class="btn_post1" /> <input type="button" value="post2" class="btn_post2" /> </p> </form> </div> <script type="text/javascript" src="/js/jquery.min_1.8.1.js"></script> <script type="text/javascript"> $(function () { //get $(".btn_get").click(function () { var _data = { id: $("#id").val(), name: $("#name").val() } $.ajax({ url: '/api/test/getdata1', type: "get", //async: false, data: _data, success: function (data) { console.log("get="+data) alert(data); }, error: function () { alert("程序错误"); } }) }) $(".btn_post1").click(function () { var _data = { id: $("#id").val(), name: $("#name").val(), sex: 1 } $.ajax({ url: '/api/test/postdata1', type: "post", //async: false, contentType: 'application/json', data: JSON.stringify(_data), //data: _data, success: function (data) { console.log("post="+data) alert(data); }, error: function () { alert("程序错误"); } }) return false; }) $(".btn_post2").click(function () { var _data = { id: $("#id").val(), name: $("#name").val(),sex:1 } $.ajax({ url: '/api/test/postdata2', type: "post", //async: false, //contentType: 'application/json', //data: JSON.stringify(_data), data: _data, success: function (data) { console.log("post2=" + data) alert(data); }, error: function () { alert("程序错误"); } }) return false; }) }) </script> </body> </html>
webapi
public class TestController : ApiController { [HttpGet] public string GetData1(string id,string name) { string res = "id===" + id + ",name===" + name; return res; } [HttpPost] public string PostData1(dynamic obj) { string res = "id===" + obj.id + ",name===" + obj.name; return res; } [HttpPost] public string PostData2([FromBody] JObject obj) { string res = ""; res += "<br>id===" + obj["id"].ToString() + ",name===" + obj["name"].ToString()+",count="+ obj.Count; return res; } }
//成功一定有方法,失败一定有原因。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 字符编码:从基础到乱码解决
2017-12-18 服务器访问不了外网