在Visual Studio 2012中新建MVC4項(xiàng)目,在App_Start目錄下有一個(gè)WebApiConfig.cs文件,這個(gè)文件中就是相應(yīng)的Web API的路由配置了。
我也根據(jù)這兩篇文章寫了一個(gè)簡單的測試程序。
先創(chuàng)建了一個(gè)UserModel
public class UserModel{ public string UserID { get; set; } public string UserName { get; set; }}然后添加Web API Controller
public class UserController : ApiController{ public UserModel getAdmin() { return new UserModel() { UserID = "000", UserName = "Admin" }; } }注冊路由
public static void Register(HttpConfiguration config){ config.Routes.MapHttPRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional } );}在Global中注冊
protected void application_Start(object sender, EventArgs e){ WebApiConfig.Register(GlobalConfiguration.Configuration);}這個(gè)時(shí)候用地址欄訪問地址:api/user/getadmin
這個(gè)時(shí)侯默認(rèn)返回的是xml數(shù)據(jù)模型。
使用Ajax請求這個(gè)api,指定數(shù)據(jù)格式為json
$.ajax({ type: 'GET', url: 'api/user/getadmin', dataType: 'json', success: function (data, textStatus) { alert(data.UserID + " | " + data.UserName); }, error: function (xmlhttpRequest, textStatus, errorThrown) { }});alert出來的結(jié)果是:
可以根據(jù)請求的數(shù)據(jù)類型返回指定的數(shù)據(jù)格式。
POST數(shù)據(jù)
修改一下controller,添加一個(gè)add方法
public bool add(UserModel user){ return user != null;}只為了測試,所以這里只判斷一下傳入的實(shí)體是否為空,如果不為空則返回true
我在頁面上添加了一個(gè)button,代碼如下:
<input type="button" name="btnOK" id="btnOK" value="發(fā)送POST請求" />添加JS代碼
$('#btnOK').bind('click', function () { //創(chuàng)建ajax請求,將數(shù)據(jù)發(fā)送到后臺處理 var postData = { UserID: '001', UserName: 'QeeFee' }; $.ajax({ type: 'POST', url: 'api/user/add', data: postData, dataType: 'json', success: function (data, textStatus) { alert(data); }, error: function (xmlHttpRequest, textStatus, errorThrown) { } });});再次運(yùn)行頁面
|
新聞熱點(diǎn)
疑難解答