我们每次请求都写一个ajax的post方法,这样子肯定不合理。
/**
* ajax封装
* url 发送请求的地址
* data 发送到服务器的数据,数组存储,如:{"date": new Date().getTime(), "state": 1}
* dataType 预期服务器返回的数据类型,常用的如:xml、html、json、text
* successfn 成功回调函数
* errorfn 失败回调函数
*/
jQuery.axse = function (url, data, successfn, errorfn) {
$.ajax({
type: "post",
data: JSON.stringify(data),
url: url,
dataType: "json",
contentType: "application/json",
headers: {
Accept: "application/json; charset=utf-8",
Token: "ddddd"
},
success: function (d) {
successfn(d);
},
error: function (d) {
errorfn(d);
}
});
};Code language: JavaScript (javascript)
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
<meta charset="utf-8" />
<script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
<script src="ajaxhook.js?t=2"></script>
</head>
<body>
<script type="text/javascript">
$.axse(
'http://localhost:61714/api/values',
{id:1},
function(s){
alert(s);
},
function(s){
console.log(s);//返回的错误信息
});
</script>
</body>
</html>Code language: HTML, XML (xml)
public string Post([FromBody]dynamic obj)
{
return "dddd";
}Code language: PHP (php)
下面是本集的源码
jQuery.apipost = function (url, data, successfn, errorfn) {
$.ajax({
type: "post",
data: JSON.stringify(data),
url: 'http://localhost:23557' + url,
dataType: "json",
contentType: "application/json",
headers: {
Accept: "application/json; charset=utf-8",
Token: "ddddd"
},
success: function (d) {
successfn(d);
},
error: function (d) {
errorfn(d);
}
});
};Code language: JavaScript (javascript)
下面的html里面调用封装的ajax方法
$(function () {
//初始化左侧树
$.apipost(
'/api/menu',
{ id: 1 },
function (data) {
if (data) {
$('#tt').tree({
animate: true,
data: data
});
}
},
function (s) {
console.log(s);//返回的错误信息
});
//初始化登录信息
});Code language: JavaScript (javascript)
后台接口
[TokenAuth]
public class MenuController : ApiController
{
public Menu[] Post(dynamic obj)
{
var menus = new Menu[2];
menus[0] = new Menu() { id = 1, text = "一级菜单" + obj.id };
menus[1] = new Menu() { id = 2, text = "二级菜单" };
return menus;
}
}
Previous: Easyui Tree控件发起带有Token的API请求
Next: 完成登录功能和Token的读写