One ajax for multiple function names
我有
我们如何能收缩它吗? </P >
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | function ShowExpired() { if (isextend == false) { $.ajax({ type:"POST", cache: false, url:"../../html/frmLogout.aspx/Sessionlogout", data:"{userid:" + userid +"}", contentType: 'application/json; charset=utf-8', dataType:"json", async: false, success: function (data, e, jqxhr) { if (data.d.result) { window.location.href = '../HTML/frmLogin.aspx'; } }, error: function (data, e, jqxhr) { alert("logout ERROR=" + data.responseText); } }); } } function SessionDestroy() { $.ajax({ type:"POST", cache: false, url:"../../html/frmLogout.aspx/Sessionlogout", data:"{userid:" + userid +"}", contentType: 'application/json; charset=utf-8', dataType:"json", async: false, success: function (data, e, jqxhr) { if (data.d.result) { window.location.href = '../HTML/frmLogin.aspx'; } }, error: function (data, e, jqxhr) { alert("logout ERROR=" + data.responseText); } }); } |
我必须在diffchecker中运行它来确保。:d https://www.diffchecker.com/jcknyfg4
在这种情况下,您的第一个函数可以收缩为:
1 2 3 4 5 | function ShowExpired() { if (isextend == false) { SessionDestroy(); } } |
在您的示例中,这很容易。一般情况下,有很多选项可以使Ajax调用更具可读性,并减少代码中的空间。谷歌IT!
一些指针:
网址:https://github.com/yaymukund/jquery-ajax-wrap
https://lostechies.com/derickbailey/2012/05/04/wrapping-ajax-in-a-thin-command-framework-for-主干应用/
包装jquery的$.ajax()方法以定义全局错误处理
当然,编写自己的包装也是一种选择。它的复杂性并不高。