码迷,mamicode.com
首页 > Web开发 > 详细

Ajax的前后台封装

时间:2020-02-06 20:11:47      阅读:95      评论:0      收藏:0      [点我收藏+]

标签:script   tpc   add   obj   后台   error   roo   nbsp   converter   

1.get传值(同步)

function ajaxHandler(className, functionName, data, successFunc, errorFunc) {
var path = getRootPath();
var Para = "?className=" + className + "&functionName=" + functionName + "&ran=" + new Date().getUTCMilliseconds();
$.ajax({
type: "GET",
url: path + "/Handler/HandlerAll.ashx" + Para,
data: data,
success: function (datd) {
successFunc(datd);
},
error: function () {
if (arguments.length == 5) {
errorFunc();
}
}
});
}

2.post传值(同步)

function ajaxPostHandler(className, functionName, data, successFunc, errorFunc) {
var path = getRootPath();
var Para = "?className=" + className + "&functionName=" + functionName + "&ran=" + new Date().getUTCMilliseconds();
$.ajax({
type: "POST",
url: path + "/Handler/HandlerAll.ashx" + Para,
data: data,
success: function (datd) {
successFunc(datd);
},
error: function () {
if (arguments.length == 5) {
errorFunc();
}
}
});
}

3.post传值(异步)

function ajaxPostHandlersync(className, functionName, data, successFunc, errorFunc) {
var path = getRootPath();
var Para = "?className=" + className + "&functionName=" + functionName + "&ran=" + new Date().getUTCMilliseconds();
$.ajax({
type: "POST",
async: false,
url: path + "/Handler/HandlerAll.ashx" + Para,
data: data,
success: function (datd) {
successFunc(datd);
},
error: function () {
if (arguments.length == 5) {
errorFunc();
}
}
});
}

4.get传值(异步)
function ajaxHandlerasync(className, functionName, data, successFunc, errorFunc) {
var path = getRootPath();
var Para = "?className=" + className + "&functionName=" + functionName + "&ran=" + new Date().getUTCMilliseconds();
$.ajax({
type: "GET",
async: false,
url: path + "/Handler/HandlerAll.ashx" + Para,
data: data,
success: function (datd) {
successFunc(datd);
},
error: function () {
if (arguments.length == 5) {
errorFunc();
}
}
});
}

 

后台:

public override void Process_Request(HttpContext context)
{
string functionName = context.Request.QueryString["functionName"];
string ClassName = context.Request.QueryString["className"];
Type type = Type.GetType(ClassName);
if (functionName.Trim() != string.Empty)
{
List<object> objList = new List<object>();
objList.Add(context);
string postdata = context.Request.Form["$postdata$"];
if (!String.IsNullOrEmpty(postdata))
{
string encode = context.Request.QueryString.Get("encode");
if (encode == "b")
{
postdata = Public.ToStringFromBase64(postdata);
}
dynamic DynamicObject = ConvertJson(postdata);
objList.Add(DynamicObject);
}
type.GetMethod(functionName).Invoke(null, objList.ToArray());
}
}

public dynamic ConvertJson(string json)
{
//JavaScriptSerializer jss = new JavaScriptSerializer();
//jss.RegisterConverters(new JavaScriptConverter[] { new DynamicJsonConverter() });
//dynamic dy = jss.Deserialize(json, typeof(object)) as dynamic;


var serializer = new JavaScriptSerializer();
serializer.RegisterConverters(new[] { new DynamicJsonConverter() });
dynamic dy = serializer.Deserialize(json, typeof(object));
return dy;
}

 

Ajax的前后台封装

标签:script   tpc   add   obj   后台   error   roo   nbsp   converter   

原文地址:https://www.cnblogs.com/wangSoft/p/12269894.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!