页面内容
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>各种非主流操作</title>
<script src="../javascript/jquery-1.8.2.js"></script>
<script>
内容
</script>
</head>
<body>
<input type="text" value="" id="userid" />
<input type="text" value="" id="name"/>
<input type="text" value="" id="userid2" />
<input type="text" value="" id="name3" />
<hr/>
<input type="button" value="get提交" onclick="wds_getuset()" />
<input type="button" value="get提交两个参数" onclick="wds_getuset2()" />
<hr/>
<input type="button" value="post提交" onclick="wds_postuset()" />
<input type="button" value="post提交两个参数" onclick="wds_postuset2()" />
<input type="button" value="post提交多个参数" onclick="wds_postuset3()" />
<hr/>
<input type="button" value="put提交" onclick="wds_putuset()" />
<input type="button" value="put提交一个参数" onclick="wds_putuset2()" />
<hr/>
<input type="button" value="delete提交" onclick="wds_deleteuset()" />
<input type="button" value="delete提交一个参数" onclick="wds_deleteuset2()" />
<hr/>
<div id="pj"> </div>
</body>
</html>
有关Get操作数据

        //get 一个参数
function wds_getuset() {
var userid = $("#userid").val();
var url = "/api/user/GetUser/" + userid;
$.getJSON(url, function (msg) {
alert(msg);msg是个json串
var model = JSON.parse(msg);
alert(model["Name"]);
var model1 = $.parseJSON(msg);
alert(model1.Name);
var html = '<p>' + msg + '</p>';
$("#pj").append(html);
});
} //get 二个参数
function wds_getuset2() {
var accunt = $("#userid").val();
var pwd = $("#name").val();
$.ajax({
url: "/api/user/GetTwoUser",
type: "get",
data:{"name":accunt,"pwd":pwd}, 【传2个数据可以成功,查过2个就会失败,多参数时,可以使用后面用到的方法】
success: function (data) {
alert(data);
}
}); } 后台: [HttpGet]
public string GetUser(int id)
{
try
{
IXiao_UserBLL bll = new Xiao_UserBLL();
var model = bll.GetUserById(ConnectPool.connect, id); return JsonConvert.SerializeObject(model);
}
catch
{
return null;
}
} [HttpGet]
public void GetTwoUser(string name, string pwd)
{ }
Post方法
jquery部分 当产地一个参数是 参数如果写成键值对的形式,数据是传不过去的 //post 一个参数
function wds_postuset() {
var accunt = $("#userid").val();
$.post("/api/user/UserPost", { "": accunt }, function (msg) {
if (msg == "error") {
alert("添加失败!");
} else {
alert("恭喜你,添加成功!");
}
});
$.ajax({
url: "/api/user/UserPost",
type: "post",
data: { "":accunt },
success: function(data) {
alert(data);
}
}); }
//post 二个参数
function wds_postuset2() {
var accunt = $("#userid").val();
var pwd = $("#name").val();
$.post("/api/user/adduser", { "Account": accunt, "PassWord": pwd }, function (msg) {
if (msg == "error") {
alert("添加失败!");
} else {
alert("恭喜你,添加成功!");
}
}); $.ajax({
url: "/api/user/adduser",
type: "post",
data: { "Account": accunt, "PassWord": pwd },
success: function(data) {
alert(data);
}
}); var job= {
"Account": accunt,
"PassWord": pwd
}
$.ajax({
url: "/api/user/adduser",
type: "post",
data: JSON.stringify(job),
contentType:"application/json",
success: function (data) {
alert(data);
}
});
} //post 多个实体
function wds_postuset3() {
var accunt = $("#userid").val();
var pwd = $("#name").val();
var accunt2 = $("#userid2").val();
var pwd2 = $("#name3").val();
var us= {
"Account": accunt,
"PassWord": pwd
} var sc= {
"SchoolName": accunt2,
"SchoolAddress": pwd2
}
$.ajax({
url: "/api/user/PostTwoUser",
type: "post",
data: JSON.stringify({ "xiao_user": us, "xiao_school": sc }),
contentType: "application/json",
success: function (data) {
alert(data);
}
});
} 后台 [HttpPost]
public string UserPost([FromBody]string accunt)
{
try
{
IXiao_UserBLL bll = new Xiao_UserBLL();
var model = bll.GetUserById(ConnectPool.connect, Convert.ToInt32(accunt));
return JsonConvert.SerializeObject(model);
}
catch (Exception)
{
return null;
}
} [HttpPost]
public string adduser([FromBody] xiao_userModel model)
{
try
{
IXiao_UserBLL bll = new Xiao_UserBLL();
model.AddTime = DateTime.Now;
var result = bll.AddUser(ConnectPool.connect, model);
return result > ? "ok" : "error";
}
catch (Exception)
{
return "error";
}
} [HttpPost]
public void PostTwoUser([FromBody]JObject obj)
{
try
{
//dynamic 类型与 object 类型的行为是一样的。 但是,不会用编译器对包含 dynamic 类型表达式的操作进行解析或类型检查。 编译器将有关该操作信息打包在一起,并且该信息以后用于计算运行时操作。 在此过程中,类型 dynamic 的变量会编译到类型 object 的变量中。 因此,类型 dynamic 只在编译时存在,在运行时则不存在
dynamic json = obj;
JObject user = json.xiao_user;
JObject school = json.xiao_school;
}
catch (Exception)
{ throw;
}
}
Put 方法部分 Jquery

        //put 无参
function wds_putuset() { $.ajax({
url: "/api/user/PutUserName",
type: "put",
success: function (data) {
alert(data);
}
});
} //put 一个参数
function wds_putuset2() {
var id = $("#userid").val(); $.ajax({
url: "/api/user/PutUserOne",
type: "put",
data: { "": id },
success: function (data) {
alert(data);
}
}); var us = {
"Account": id,
}
$.ajax({
url: "/api/user/PutUserOne",
type: "put",
data: JSON.stringify({ xiao_user: us }),
contentType: "application/json",
success: function (data) {
alert(data);
}
});
} 后台 [HttpPut]
public string PutUserName()
{
try
{
IXiao_UserBLL bll = new Xiao_UserBLL();
var model = bll.GetUserById(ConnectPool.connect, );
return JsonConvert.SerializeObject(model); }
catch (Exception)
{
return null;
}
} [HttpPut]
// public string PutUserOne([FromBody]JObject obj) 多个参数时使用
public string PutUserOne([FromBody]string userid)
{ return null;
}
delete 部分 jquery

      //delete 无参数
function wds_deleteuset() {
$.ajax({
url: "/api/user/Deleteuser",
type: "delete",
success: function (data) {
alert(data);
}
});
} 后台
[HttpDelete]
public void Deleteuser()
{ } 这个和其他的都相同

webapi传参数详解 http://www.cnblogs.com/landeanfen/p/5337072.html

Web API (一)的更多相关文章

  1. 在一个空ASP.NET Web项目上创建一个ASP.NET Web API 2.0应用

    由于ASP.NET Web API具有与ASP.NET MVC类似的编程方式,再加上目前市面上专门介绍ASP.NET Web API 的书籍少之又少(我们看到的相关内容往往是某本介绍ASP.NET M ...

  2. bootstrap + requireJS+ director+ knockout + web API = 一个时髦的单页程序

    也许单页程序(Single Page Application)并不是什么时髦的玩意,像Gmail在很早之前就已经在使用这种模式.通常的说法是它通过避免页面刷新大大提高了网站的响应性,像操作桌面应用程序 ...

  3. Hello Web API系列教程——Web API与国际化

    软件国际化是在软件设计和文档开发过程中,使得功能和代码设计能处理多种语言和文化习俗,在创建不同语言版本时,不需要重新设计源程序代码的软件工程方法.这在很多成熟的软件开发平台中非常常见.对于.net开发 ...

  4. ASP.NET Web API 跨域访问(CORS)

    一.客户端用JSONP请求数据 如果你想用JSONP来获得跨域的数据,WebAPI本身是不支持javascript的callback的,它返回的JSON是这样的: {"YourSignatu ...

  5. Web Api 入门实战 (快速入门+工具使用+不依赖IIS)

    平台之大势何人能挡? 带着你的Net飞奔吧!:http://www.cnblogs.com/dunitian/p/4822808.html 屁话我也就不多说了,什么简介的也省了,直接简单概括+demo ...

  6. Web APi之认证(Authentication)两种实现方式【二】(十三)

    前言 上一节我们详细讲解了认证及其基本信息,这一节我们通过两种不同方式来实现认证,并且分析如何合理的利用这两种方式,文中涉及到的基础知识,请参看上一篇文中,就不再叙述废话. 序言 对于所谓的认证说到底 ...

  7. angular2系列教程(八)In-memory web api、HTTP服务、依赖注入、Observable

    大家好,今天我们要讲是angular2的http功能模块,这个功能模块的代码不在angular2里面,需要我们另外引入: index.html <script src="lib/htt ...

  8. 我这么玩Web Api(二):数据验证,全局数据验证与单元测试

    目录 一.模型状态 - ModelState 二.数据注解 - Data Annotations 三.自定义数据注解 四.全局数据验证 五.单元测试   一.模型状态 - ModelState 我理解 ...

  9. 我这么玩Web Api(一):帮助页面或用户手册(Microsoft and Swashbuckle Help Page)

    前言 你需要为客户编写Api调用手册?你需要测试你的Api接口?你需要和前端进行接口对接?那么这篇文章应该可以帮到你.本文将介绍创建Web Api 帮助文档页面的两种方式,Microsoft Help ...

  10. [译] 在Web API 2 中实现带JSON的Patch请求

    原文链接:The Patch Verb in Web API 2 with JSON 我想在.NET4.6 Web API 2 项目中使用Patch更新一个大对象中的某个字断,这才意识到我以前都没有用 ...

随机推荐

  1. MVC中使用AuthorizeAttribute做身份验证操作【转】

    http://blog.csdn.net/try530/article/details/7782704 代码顺序为:OnAuthorization-->AuthorizeCore-->Ha ...

  2. oracle10G之前介质下载地址【珍藏版】

    今天在互联网搜了一下相关介质下载,自己记录一下. Oracle9i Database Release 2 Enterprise/Standard/Personal Edition for Window ...

  3. ftp 解决不能上传问题

    有人建议整个关掉SELinux并且重启,于是我去/etc/selinux/config里面把SELinux给disable了.重启之后,发现可以在/home/sam/test这个文件夹上传了!

  4. Oracle基本代码学习

    /*------------Orcale函数----------------*/ 1.字符函数 LOWER()小写UPPER()大写INITCAP()把第一个字母大写CONCAT()字符串的连接(也可 ...

  5. Code First Entity Framework 6化被动为主动之explicit loading模式实战分析( 附源码)

    在使用Entity Framework加载关联实体时,可以有三种方式: 1.懒加载(lazy Loading); 2.贪婪加载(eager loading); 3.显示加载(explicit load ...

  6. 剑指offer第五题

    输入一个链表,从尾到头打印链表每个节点的值.  但是 根据往常的经验 如果if里面有return了 就不要写else了  import java.util.ArrayList; import java ...

  7. google base 之MessagePumpForUI

    base库中比较有意思就是这个类了,如同很多界面库一样,创建了一个隐藏窗口来处理需要在界面线程处理的消息,大体原理也就是需要执行task的时候发送一个自定义的消息,当窗口接收到task的时候调用保存起 ...

  8. OC语法3——点语法,self关键字

    点语法:   为了给程序员提供便捷,OC中也引入了点语法.不过它和Java中点语法的意义是完全不同的. 在Java中无论调用任何方法,还是访问public类型的成员变量都是用点语法(.号). 而在OC ...

  9. Android 自带 camera 详解

    在本文中 需要考虑的问题 概述 Manifest声明 使用内置的摄像头应用程序 捕获图像的intent 捕获视频的intent 接收摄像头intent的结果 创建摄像头应用程序 检测摄像头硬件 访问摄 ...

  10. Gridlayout动态添加

    //类似数组[行, 列] //表示起始位置为0,占据2行 GridLayout.Spec rowSpec=GridLayout.spec(0, 2, GridLayout.UNDEFINED); // ...