ajax把requestData发送到后台,后台是如何处理的? 看requestData的xjxargs属性,搜索xjxargs后发现在File: xajaxArgumentManager.inc.php 而xajaxArgumentManager.inc.php是被文件File: xajax.inc.php引用的 而xajax.inc的引用,如下:
|
xjxfun=ajaxProcess&xjxr=1577959851647&xjxargs[]=SIndex&xjxargs[]=SButton1&xjxargs[]=*&xjxargs[]=SButton1Click&xjxargs[]=%3Cxjxobj%3E%3Ce%3E%3Ck%3Eserverevent%3C%2Fk%3E%3Cv%3ES%3C%2Fv%3E%3C%2Fe%3E%3Ce%3E%3Ck%3Eserverparams%3C%2Fk%3E%3Cv%3ES%3C%2Fv%3E%3C%2Fe%3E%3Ce%3E%3Ck%3EButton1%3C%2Fk%3E%3Cv%3ES%3C!%5BCDATA%5Bclicked%20Ajax%202020-01-02%209%3A21%3A16%20am%5D%5D%3E%3C%2Fv%3E%3C%2Fe%3E%3C%2Fxjxobj%3E&xjxargs[]=%3Cxjxobj%3E%3C%2Fxjxobj%3E 在http://www.jsons.cn/urlencode/解码后得到: xjxfun=ajaxProcess&xjxr=1577959851647&xjxargs[]=SIndex&xjxargs[]=SButton1&xjxargs[]=*&xjxargs[]=SButton1Click&xjxargs[]=<xjxobj><e><k>serverevent</k><v>S</v></e><e><k>serverparams</k><v>S</v></e><e><k>Button1</k><v>S<![CDATA[clicked Ajax 2020-01-02 9:21:16 am]]></v></e></xjxobj>&xjxargs[]=<xjxobj></xjxobj> 格式化后是: xjxfun=ajaxProcess &xjxr=1577959851647 &xjxargs[]=SIndex &xjxargs[]=SButton1 &xjxargs[]=* &xjxargs[]=SButton1Click &xjxargs[]=<xjxobj><e><k>serverevent</k><v>S</v></e><e><k>serverparams</k><v>S</v></e><e><k>Button1</k><v>S<![CDATA[clicked Ajax 2020-01-02 9:21:16 am]]></v></e></xjxobj> &xjxargs[]=<xjxobj></xjxobj> 这个类似xml的内容: <xjxobj> <e> <k>serverevent</k> <v>S</v> </e> <e> <k>serverparams</k> <v>S</v> </e> <e> <k>Button1</k> <v>S<![CDATA[clicked Ajax 2020-01-02 9:21:16 am]]></v> </e> </xjxobj> |
if ('undefined' != typeof oRequest.userName && 'undefined' != typeof oRequest.password) { oRequest.open = function() { this.request.open(this.method, this.requestURI, 'asynchronous' == this.mode, oRequest.userName, oRequest.password); } } else { oRequest.open = function() { this.request.open(this.method, this.requestURI, 'asynchronous' == this.mode); } } |
简单范例:
|
为了应对所有的现代浏览器,包括 IE5 和 IE6,请检查浏览器是否支持 XMLHttpRequest 对象。如果支持,则创建 XMLHttpRequest 对象。如果不支持,则创建 ActiveXObject : 实例
|
在inernalSend时,多了以下几个属性: applyRequestHeaders:ƒ () finishRequest:ƒ () open:ƒ () request:XMLHttpRequest {onreadystatechange: ƒ, readyState: 1, timeout: 0, withCredentials: false, upload: XMLHttpRequestUpload, …} setCommonRequestHeaders:ƒ () setGetRequestHeaders:ƒ () setPostRequestHeaders:ƒ () setRequestHeaders:ƒ (headers) |
简单的ajax的触发过程如下: /* <![CDATA[ */ xajax_ajaxProcess = function() { return xajax.request( { xjxfun: 'ajaxProcess' }, { parameters: arguments } ); }; /* ]]> */ function Button1JSClick(event) { var event = event || window.event; var params=null; xajax_ajaxProcess('Index','Button1',params,'Button1Click',xajax.getFormValues('Index'),[]); //Return false to prevent the button submit the form return(false); } |
Powered by Discuz! X3.2
© 2001-2013 Comsenz Inc.