Web API (一)
页面内容
<!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 (一)的更多相关文章
- 在一个空ASP.NET Web项目上创建一个ASP.NET Web API 2.0应用
由于ASP.NET Web API具有与ASP.NET MVC类似的编程方式,再加上目前市面上专门介绍ASP.NET Web API 的书籍少之又少(我们看到的相关内容往往是某本介绍ASP.NET M ...
- bootstrap + requireJS+ director+ knockout + web API = 一个时髦的单页程序
也许单页程序(Single Page Application)并不是什么时髦的玩意,像Gmail在很早之前就已经在使用这种模式.通常的说法是它通过避免页面刷新大大提高了网站的响应性,像操作桌面应用程序 ...
- Hello Web API系列教程——Web API与国际化
软件国际化是在软件设计和文档开发过程中,使得功能和代码设计能处理多种语言和文化习俗,在创建不同语言版本时,不需要重新设计源程序代码的软件工程方法.这在很多成熟的软件开发平台中非常常见.对于.net开发 ...
- ASP.NET Web API 跨域访问(CORS)
一.客户端用JSONP请求数据 如果你想用JSONP来获得跨域的数据,WebAPI本身是不支持javascript的callback的,它返回的JSON是这样的: {"YourSignatu ...
- Web Api 入门实战 (快速入门+工具使用+不依赖IIS)
平台之大势何人能挡? 带着你的Net飞奔吧!:http://www.cnblogs.com/dunitian/p/4822808.html 屁话我也就不多说了,什么简介的也省了,直接简单概括+demo ...
- Web APi之认证(Authentication)两种实现方式【二】(十三)
前言 上一节我们详细讲解了认证及其基本信息,这一节我们通过两种不同方式来实现认证,并且分析如何合理的利用这两种方式,文中涉及到的基础知识,请参看上一篇文中,就不再叙述废话. 序言 对于所谓的认证说到底 ...
- angular2系列教程(八)In-memory web api、HTTP服务、依赖注入、Observable
大家好,今天我们要讲是angular2的http功能模块,这个功能模块的代码不在angular2里面,需要我们另外引入: index.html <script src="lib/htt ...
- 我这么玩Web Api(二):数据验证,全局数据验证与单元测试
目录 一.模型状态 - ModelState 二.数据注解 - Data Annotations 三.自定义数据注解 四.全局数据验证 五.单元测试 一.模型状态 - ModelState 我理解 ...
- 我这么玩Web Api(一):帮助页面或用户手册(Microsoft and Swashbuckle Help Page)
前言 你需要为客户编写Api调用手册?你需要测试你的Api接口?你需要和前端进行接口对接?那么这篇文章应该可以帮到你.本文将介绍创建Web Api 帮助文档页面的两种方式,Microsoft Help ...
- [译] 在Web API 2 中实现带JSON的Patch请求
原文链接:The Patch Verb in Web API 2 with JSON 我想在.NET4.6 Web API 2 项目中使用Patch更新一个大对象中的某个字断,这才意识到我以前都没有用 ...
随机推荐
- CentOS启动报错:Centos kernel panic-not syncing:VFS:Unable to mount root fs on unknown block
Centos kernel panic-not syncing:VFS:Unable to mount root fs on unknown block 原因:主要问题就是你更新了内核之后出现的问题. ...
- notepad++中的zencoding的快捷键修改[转]
在notepad++自己的”设置-->管理快捷键“中,找不到zen coding的快捷键,我又不想改掉已经用习惯了的ctrl+/,结果就用了一种比较偏门的修改快捷键的解决方案,希望可以帮到有同样 ...
- Spring 整合hibernante 错误java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener
1.将所需的jar包全部拷贝到WEB-INF/lib下,再重新启动tomcat便能顺利通过了.参考http://blessht.iteye.com/blog/1104450 最佳答案 spring ...
- google base 之MessagePumpForUI
base库中比较有意思就是这个类了,如同很多界面库一样,创建了一个隐藏窗口来处理需要在界面线程处理的消息,大体原理也就是需要执行task的时候发送一个自定义的消息,当窗口接收到task的时候调用保存起 ...
- 【servlet3.0新特性】Annotation注解配置
servlet3.0新特性Servlet3.0引入的若干重要新特性,包括异步处理.新增的注解支持.可插性支持等等,为读者顺利向新版本过渡扫清障碍.Servlet3.0新特性概述Servlet3.0作为 ...
- ADO.NET入门
什么是ADO.NET ADO.NET就是一组类库,这组类库可以让我们通过程序的方式访问数据库,就像System.IO下的类用类操作文件一样, System.Data.这组类是用来操作数据库(不光是MS ...
- android LinearLayout android:layout_weight 作用,固定比例
android 中的 LinearLayout 是线性布局有水平布局horizontal 垂直布局vertical .本文针对 水平布局horizontal 布局的weight属性做一个标记,以免 ...
- 在 Windows Azure 虚拟机中使用 Microsoft SQL Server 安全功能
编辑人员注释:本文章由 SQL Server 团队高级项目经理 Sung Hsueh 撰写. SQL Server 的最新用法之一是利用 Microsoft 的 Windows Azure 基础结构服 ...
- openstack 开发step-by-step
Set up your Open Stack There are several ways to deploy openstack, Devstack is easily for developer ...
- c reference
1,函数:strdup复制字符串函数原型定义:char * strdup(const char *s);函数说明:strdup()会先用maolloc()配置与参数s字符串相同的空间大小,然后将参数s ...