直接上代码:

 <html>
<head>
<meta name="viewport" content="width=device-width" />
<script src="~/Scripts/jquery-1.8.2.js"></script>
<script>
function Test() {
/*
无参数Get $.ajax(
{
url: 'api/values/GetUser',
type: 'get',
//data:{},
success: function (data) {
console.log(JSON.stringify(data));
}
});
*/ /*
单个参数Get
*/
/*$.ajax(
{
url: 'api/values/GetName',
type: 'get',
data: {name:"pingdong"},
success: function (data)
{
console.log(JSON.stringify(data));
}
});
*/ /*Get多个参数Get
$.ajax(
{
url: 'api/values/GetNameAndSex',
type: 'get',
data: {name:'pingdong',sex:'男'},
success: function (data)
{
console.log(JSON.stringify(data));
}
});
*/ /*post 无参数
$.ajax(
{
url: 'api/values/PostNoParmer',
type: 'post',
data: {},
success: function (data) {
console.log(JSON.stringify(data));
}
}
);
*/ /*
post一个参数
$.ajax({
url: 'api/values/PostName',
type: 'post',
data: {"":'pingdong'},
success: function (data)
{
console.log(JSON.stringify(data));
}
});
*/ /*
post多个参数
$.ajax({
url: 'api/values/PostNameAndSex',
type: 'post',
data: {name:'pingdong',sex:'男'},
success: function (data)
{
console.log(JSON.stringify(data));
}
});
*/ /*
post json格式的数据(单条) var mydata = { name: "pingdong", sex: '男' }; $.ajax(
{
url: 'api/values/PostOneJson',
type: 'post',
data: JSON.stringify(mydata),//将mydata转化为字符串
contentType: 'application/json',//默认情况下会出错。因为ajax提交数据默认请求头中的Content-type为:application/x-www-form-urlencoded(即默认的key=value)。而我们需要提交的是json格式的数据,所以需要指定发送到服务端的数据格式:application/json
succsess: function (data)
{
console.log(data);
}
});
*/ /*
post json格式的数据(多条)
var mydata = [
{ name: "pingdong", sex: '男' },
{name:'张三',sex:'男'},
{name:'李四',sex:'男'},
];
$.ajax(
{
url: 'api/values/PostMoreJson',
type: 'post',
data: JSON.stringify(mydata),
contentType: 'application/json',
success: function (data)
{
console.log(JSON.stringify(data));
}
});
*/ /*传递复杂json(示例) var mydata = {
"productPrice": [
{
"priceInfo": [
{
"productid": "77",
"webstileid": "2"
},
{
"productid": "191",
"webstileid": "3"
}
]
},
{
"priceRegex": [
{
"webstileid": "2",
"tid": "6"
},
{
"webstileid": "3",
"tid": "7"
}
]
}
]
};
console.log(JSON.stringify(mydata));
$.ajax(
{
url: 'api/values/PostMoreAndMoreJson',
type: 'post',
data: JSON.stringify(mydata),
contentType: 'application/json',
success: function (data)
{
console.log(JSON.stringify(data));
}
});
*/
} /*
备注;
contentType:指定请求类型 "application/json"
dataType:指定输出类型 "xml"
*/ </script>
<title>Index</title>
</head>
<body>
<div>
<input type="button" onclick="Test()" value="点我" />
</div>
</body>
</html>
 using My_WebApiDemo.Common;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;
using Newtonsoft.Json; namespace My_WebApiDemo.Controllers
{
// [Authentication]
public class ValuesController : ApiController
{ static List<User> userList=new List<User>{new User{ name="张三",password=""},
new User{ name="王五",password=""}};
public List<User> GetUser()
{
return userList;
} public string GetName(string name)
{
return string.Format("你好,我叫{0}.", name);
} public string GetNameAndSex(string name, string sex)
{
return string.Format("你好,我叫{0},性别:{1}", name,sex);
} public List<User> PostNoParmer()
{
return userList;
} /// <summary>
/// 单个参数获取的时候,并不是根据key=value,而是 =value
/// </summary>
/// <param name="name"></param>
/// <returns></returns>
public string PostName([FromBody]string name)
{
return string.Format("你好,我叫{0}.", name);
} /// <summary>
/// 传递两个参数的时候,FromBody只能有一个,所以提供一个对象来获取对应的值
/// </summary>
/// <returns></returns>
public string PostNameAndSex(NameAndSex nameAndsex)
{
return string.Format("你好,我叫{0}.", nameAndsex.name,nameAndsex.sex);
} /// <summary>
/// 接收json格式的数据(单条)
/// </summary>
/// <returns></returns>
public string PostOneJson(NameAndSex nameAndsex)
{ return string.Format("你好,我叫{0}.", nameAndsex.name, nameAndsex.sex); } /// <summary>
/// 接收json格式的数据(多条)
/// </summary>
/// <returns></returns>
public string PostMoreJson(IList<NameAndSex> nameAndsexList)
{
string str = "";
foreach (var item in nameAndsexList)
{
str += string.Format("你好,我叫{0}.", item.name, item.sex);;
}
return str;
} /// <summary>
/// 接收json格式的数据(复杂)
/// </summary>
/// <returns></returns>
public string PostMoreAndMoreJson(Demo demo)
{
return JsonConvert.SerializeObject(demo);
} }
public class NameAndSex
{
public string name { get; set; }
public string sex { get; set; }
} public class Demo
{
public IList<productPrice> productPrice { get; set; }
} public class productPrice
{
public IList<priceInfo> priceInfo { get; set; }
public IList<priceRegex> priceRegex { get; set; }
} public class priceInfo
{
public string productid { get; set; }
public string webstileid { get; set; }
}
public class priceRegex
{
public string webstileid { get; set; }
public string tid { get; set; }
}
}

webApi 数据绑定 获取的更多相关文章

  1. Asp.Net Mvc4 Webapi Request获取参数

    最近用mvc4中的WEBAPI,发现接收参数不是很方便,跟传统的request.querystring和request.form有很大区别,在网上搜了一大圈,各种方案都有,但不是太详细,于是跟踪Act ...

  2. .net core webapi 后台获取客户端ip地址

    Asp.Net Core2.0获取客户IP地址,及解决发布到Ubuntu服务器获取不到正确IP解决办法   1.获取客户端IP地址实现方法(扩展类) 1 using Microsoft.AspNetC ...

  3. WebApi 后台获取token值

    前台传递一个token,后台不知道怎么获取那么不是很悲剧吗. $(function () { $.ajax({ url: "/api/TokensTest/FirstCode", ...

  4. 关于C# winform怎么调用webapi来获取到json数据

    C/S系统也可以和B/S系统一样实现“前后端分离”,那这样写winform就相当于纯粹的前端页面了,然后再单独部署一个webapi项目,通过api调用数据库进行数据的操作,有利于维护和数据安全性的提高 ...

  5. webapi中获取HttpContext

    public OperationResultDto APILogin() { LoginModel model = new LoginModel(); HttpContextBase context ...

  6. c#访问webapi以及获取

    提交post #region XML方式提交        public static void XML() {            HttpWebRequest wReq = (HttpWebRe ...

  7. 关于C# 怎么调用webapi来获取到json数据

      /// <summary>        /// 调用api返回json        /// </summary>        /// <param name=& ...

  8. Mono for android 访问Webservice和WebApi以及获取和解析JSON

    先看效果,注意:(1)这里由于我的模拟器不支持中文输入,所以,对于这张效果图,我是直接在代码中写死了我的查询城市,在下面的代码中我是没有把要查询的城市写死的. (2)读者要想成功使用本示例的所有代码的 ...

  9. ASP.NET WebAPi(selfhost)之文件同步或异步上传

    前言 前面我们讲过利用AngularJs上传到WebAPi中进行处理,同时我们在MVC系列中讲过文件上传,本文结合MVC+WebAPi来进行文件的同步或者异步上传,顺便回顾下css和js,MVC作为客 ...

随机推荐

  1. 《python核心编》程课后习题——第三章

    核心编程课后习题——第三章 3-1 由于Python是动态的,解释性的语言,对象的类型和内存都是运行时确定的,所以无需再使用之前对变量名和变量类型进行申明 3-2原因同上,Python的类型检查是在运 ...

  2. 第1章 Linux系统简介

    第1节 UNIX发展历史和发行版本 1. UNIX与Linux发展史 1.1 UNIX发展历史 (1)1965年,美国麻省理工学院(MIT).通用电气公司(GE)及AT&T的贝尔实验室联合开发 ...

  3. Mysql更换MyISAM存储引擎为Innodb的操作记录

    一般情况下,mysql会默认提供多种存储引擎,可以通过下面的查看: 1)查看mysql是否安装了innodb插件.通过下面的命令结果可知,已经安装了innodb插件. mysql> show p ...

  4. 软件工程导论-目录-K-T+RJ大

    目录 10 第1章 软件工程学概述/1 19 1.1 软件危机/1 19 1.1.1 软件危机的介绍/1 19 1.1.2 产生软件危机的原因/3 21 1.1.3 消除软件危机的途径/4 22 1. ...

  5. jquery 里面对数组去重操作-unique

    js: var yearArray = new Array(2009, 2009, 2010, 2010, 2009, 2010); $.unique(yearArray); alert(yearAr ...

  6. Intelij IDEA解决Dependency无法更新问题

    在使用Intelij IDEA的时候,发现核心的组件没有被更新,于是发现了这篇文章可以解决这个问题: Force Intellij IDEA to reread all maven dependenc ...

  7. jS字符串大小写转换实现方式

    toLocaleUpperCase 方法:将字符转换为大写 stringVar.tolocaleUpperCase( ) 必选的 stringVar 引用是一个 String 对象,值或文字. //转 ...

  8. socketAPI:一个最简单的服务器和对应的客户端C语言的实现

    基于linux,该实例实现了服务端传了一个hello world给客户端.socket()创建socketbind()绑定socket到IP地址和端口listen()服务器监听客户端的连接connec ...

  9. SpringBoot应用部署[转]

    在开发spring Boot应用的过程中,Spring Boot直接执行public static void main()函数并启动一个内嵌的应用服务器(取决于类路径上的以来是Tomcat还是jett ...

  10. .net core 一次坑爹的类库打包过程

    众所周知,.net core 跨平台类库引用一定要通过nuget获得.(如有问题,欢迎指出) 打包 将普通.net project转换成.net core 的类库有两种方式: 1.新建.net cor ...