在ajax success再ajax发送post请求一个ajax请求

jquery ajax请求成功,返回了数据,但是不进success的问题 【转】 - 金-Fish - 博客园
&&&&& 这几天一直被 ajax请求成功,返回了数据,但是不进success的问题困扰着,怎么弄就是解决不了,总以为 是:$(document).ready(function(){});没起作用,一直找页面加载的方法来试,整了好几天没整出来....今天比较幸运, 在网上找到了一篇关于这方面问题的文章,按上面的方法一试,果然ok了,哈哈哈,真是太高兴了....终于解决这个问题了。
这个问题的原因(来自/ajax/413061.html的拷贝内容):
--------------------------拷贝内容 start ----------------------------------------------------
& & 1.状态码返回200--表明服务器正常响应了客户端的请求; &&&&& 2.通过firebug和IE的httpWatcher可以看出服务器端返回了正常的数据,并且是符合业务逻辑的数据。 & & & & && 但是,程序就是不进入到回调函数success: function(data){****}而是进入到error: function(data){***} & & 记得上次是因为存在跨域访问的问题导致。这次查看不存在跨域的问题。此时就很是不解。 &&&&&&&&& 事情的来源是这样的: 后台的配置管理模块中有一块是关于国际化的配置,增加国际化描述等等,查询国际化描述。
&&&&&&&& 问题的来源是在输入key='a'
查询前十条数据时发现可以正常的展现数据,但是当我输入key值为z时,并且再查询前20条数据是发现数据不能展现,但是server返回了数据库中的数
据。这时第一反应是事不时数据返回的有问题,粗略的检查了返回的数据发现和第一次查询没有什么明显的区别。但是只查询第十四条数据时发现,显示不出来。这
时候就开始怀疑了数据问题,进而到数据库中查找第十四条数据没有发现什么特别的地方。 &&&& 这时开始怀疑,难道是JS程序有处理数据兼容性有问题,觉得甚是不可思议。整了大约半小时,越来越觉得不大可能。就放弃了这种想法。 &&&& 有转向,重新审视数据。 但是发现数据从中间换行了,没太在意。 在纠结了一会儿后问一同事,指出数据可能多了一个"回车键",在其指点下到数据库表中再次查看该条数据发现有一个字段的值多了一个"回车键"。删除后,一切恢复正常。 &&&& 思考第一次和第二次碰到的问题,我初步认识到: &&& 1. 返回的数据类型一定要符合定义的数据类型。即如果你定义的 dataType 是 json 类型的,那么返回来的数据一定是 json 才可以,平且不然就会执行 error 里的程序块儿。 && (1) 同时需要特别的注意返回的JSON数据是否是严格的JSON格式. && (2) 也应该严重关切当后台返回的是一个List 数据(List当中的数据是Json格式)时,有没脏数据即不是严格的JSON格式。 &&& 很隐蔽的可能是数据某一个字段中在开始或末尾含有特殊字符,以"回车键"、"Tab键"等 &&& 这类隐蔽错误的规避措施就是好的编程习惯: a. 对于在页面填写入库的数据最好强制性的做,去空操作&利用客户端最好&。 b. 特殊的业务需注意特殊字符。 && 这样还不够,因为在开发过程中测试或开发人员自己在数据库中手动添加数据,可能会多加了空格等,导致程序调试,测试带来了麻烦。 这时就需要考虑在后台代码对获取的数据做处理。 &&&&& 2. 原因是ajax请求跨域了,解决方法是在两个文件里都添加一段 js: [/b]document.domain,或者采用Jsonp的方式,如我的前一篇blog中提到的。 还有一点对JQuery 中Ajax的一点其它的认识: 客户端发起请求,得到服务器端的相应是200,&正确拿到服务器响应的数据&没有问题.此时在判断进入success 对应的回调函数还是进入到error对应的回调函数之前,可能会校验一些东西: &&&&& 1. 返回的每条数据是否是dataType中定义的数据类型。如果有部分数据不是或者哪怕一条数据没有严格的按照dataType定义的类型,程序就会进入到error:function(){****} &&&&& 2. 请求的域和当前域是否是同一域,如果不是同一域也十分有可能进入error:function(){***}&& &&
&---------------------------end --------------------------------------------------------------------------
&&& &&& 通过看了这段内容后,我再对照我的ajax
看了一遍,发现我少配了一个属性(dataType属性)因为我数据类型返回的是json类型,而我这边没有配dataType:'json',这一属
性,所以导致出现了此问题。不过, 困扰我这么久的问题终于解决了,下次得万分小心才是,该配置的东西还是得配置,不能偷懒。实现发送多个Ajax请求 - AJAX教程 - 编程入门网
实现发送多个Ajax请求
大家知道IE只能一次发送一个Ajax请求,你是否尝试过在一个页面上用Ajax请求多次,虽然可以实现我们发现代码很乱
我们来实现一个在页面呈现缓存的例子吧!
function $(id) { return document.getElementById(id); }
思路:我们把要加载的缓存放在一个集合中,再迭代集合实现所有的获取缓存请求
var cache={page:&Index&,id:&Courses&,element:$(&Courses&)};
//page为加载的缓存页面 id缓存ID,element显示缓存的Dom对象
顺便插一句:这个例子用Jquery实现的了吗?可以尝试一下,呵呵,这几天好像跟Jquery有仇一样
上面定义了缓存对象,下面的代码就创建一个请求Ajax的方法,我们称之为: AsyncRequest
var xmlHttp = 
function $AsyncRequest(request, callback) {
     this.method = request.method!=null&&request.method.toLowerCase()==&post&?&POST&:&GET&;
     this.url = request.
     this.params = request.
     this.dataType =request.dataType!=null&&request.dataType.toLowerCase() == &xml& ? &xml& : &text&;
     this.async = request.async instanceof Boolean ? request.async : 
     if (callback != null) {
         this.success = callback.
         this.error = callback.
         if (callback.start != null) callback.start();
     }
     if (xmlHttp == null) {
         if (window.XMLHttpRequest) xmlHttp = new XMLHttpRequest();
         else if(window.ActiveXObject)xmlHttp=new ActiveXObject(&MSXML2.XMLHTTP&)||new ActiveXObject(&MICROSOFT.XMLHTTP&);
         else{return }
     }
     var current = 
    xmlHttp.open(this.method, this.url, this.async);
    xmlHttp.onreadystatechange = function() {
         if (xmlHttp.readyState == 4) {
             if (xmlHttp.status == 200) {
                 if (current.success != null)
                     current.success(current.dataType == &xml& ? xmlHttp.responseXml : xmlHttp.responseText);
             }
             else {
                 if (current.error != null)
                     current.error(xmlHttp.responseText);
             }
         }
     }
     if (this.method== &POST&)
         xmlHttp.setRequestHeader(&Content-Type&, &application/x-www-form-urlencoded&);
     xmlHttp.send(this.params);当前位置: →
→ jquery的ajax全局事件和AJAX 请求正在进行时显示&正在加载&
jquery的ajax全局事件和AJAX 请求正在进行时显示&正在加载&
& 作者及来源: 网站建设专家 - 博客园 &
&收藏到→_→:
摘要: jquery的ajax全局事件和AJAX 请求正在进行时显示&正在加载&
"jquery的ajax全局事件和AJAX 请求正在进行时显示&正在加载&"::
当 ajax 请求正在进行时显示“正在加载”的指示:
$(&#txt&).ajaxstart(function(){
$(&#wait&).css(&display&,&block&);
$(&#txt&).ajaxcomplete(function(){
$(&#wait&).css(&display&,&none&);
的ajax全局事件详解—明河谈 (原文地址:/2882)
在ajax方面是非常强大和方便的,以下是 进行ajax请求时 模板:
type: &get&,
data : {},
beforesend : function(){
success : function(data){
complete : function(){
关于$.ajax() 的使用,不是明河写这篇文章的目的,今天明河主要讲解当进行ajax请求时整个完整的事件流程。
的ajax 的全部全局事件:
ajaxstart:ajax请求开始前
ajaxsend:ajax请求时
ajaxsuccess:ajax获取数据后
ajaxcomplete:ajax请求完成时
ajaxerror:ajax请求发生错误后
ajaxstop:ajax请求停止后
当你使用 的ajax ,不管是$.ajax()、$.get()、$.load()、$.get on()等都会默认触发全局事件,只是通常不绑定全局事件,但实际上这些全局事件非常有用处。
ajax 的全局事件的用处
ajax全局事件,有个典型的场合:
你的页面存在多个甚至为数不少的ajax请求,但是这些ajax请求都有相同的消息机制。ajax请求开始前显示一个提示框,提示“正在读取数据“;ajax请求成功时提示框显示“数据获取成功”;ajax请求结束后隐藏提示框。
不使用全局事件的做法是:
给$.ajax()加上beforesend、success、complete回调函数,在回调函数中加上处理提示框。
使用全局事件的做法是:
$(document).ajaxstart(onstart)
               .ajaxcomplete(oncomplete)
               .ajaxsuccess(onsuccess);
function onstart(event) {
function oncomplete(event, xhr, settings) {
function onsuccess(event, xhr, settings) {
ajax 完整事件流
为了更直观的说明,明河使用axure画了二个流程图,画的不好还请见谅,o(∩_∩)o
ajax 完整事件流演示
为了让朋友更容易理解整个事件流,明河做了以下demo。
明河共影搜索此文相关文章: 的ajax全局事件和AJAX 请求正在进行时显示&正在加载&此文来自: 马开东博客
网址: 站长QQ
jquery的ajax全局事件和AJAX 请求正在进行时显示&正在加载&_博客园相关文章
博客园_总排行榜
博客园_最新
博客园_月排行榜
博客园_周排行榜
博客园_日排行榜> 博客详情
摘要: 非常详细哦,
jsont对象{name:'王五',age:25}
json字符串:{"name":"王五","age":25}
不正确的JSON字符串:
1.{test: 1} ( test 没有包围双引号)
2.{'test': 1} (使用了单引号而不是双引号)
Json字符串指的就是Json本身,它是由一对大括号{},里面的内容是键值对key-value的形式,需要注意的是,键key必须使用双引号,而不能无引号或者单引号.由于JavaScript是弱类型的,所以没有办法直接传递对象或是数组,所以提出了Json格式的字串,用于数据传递,在另外一方使用eval或者parseJson再转...
只有$.ajax是以一个完整的对象{}来发送请求的,其他的比如$.get(),$.post()都不是.
一,$.get(url,[data],[callback])
说明:url为请求地址,data为请求数据的列表(是可选的,也可以将要传的参数写在url里面),callback为请求成功后的回调函数,该函数接受两个参数,第一个为服务器返回的数据,第二个参数为服务器的状态,是可选参数。而其中,服务器返回数据的格式其实是字符串形势,并不是我们想要的json数据格式,在此引用只是为了对比说明。
&&&&"data.php",//待载入页面的URL地址
&&&&{&name:&"John",&time:&"2pm"&},//待发送&Key/value&参数。注意,这是一个object对象??
&&&&function(data){
&&&&&&&&$("#getResponse").html(data);&
&&&&}//返回的data是字符串类型
二,$.post(url,[data],[callback],[type])
说明:这个函数跟$.get()参数差不多,多了一个type参数,type为返回的数据类型,可以是html,xml,json等类型,如果我们设置这个参数为:json,那么返回的格式则是json格式的,如果没有设置,就 和$.get()返回的格式一样,都是字符串的。
&&&&&&&&"emp.do?p=getAllEmp",
&&&&&&&&{id:deptId,x:Math.random()},//注意,这是一个object对象??
&&&&&&&&function(data){
&&&&&&&&&&&&var&arry&=&eval("("+data+")");//去引号,将json字符转换成一个object对象,也可以在$.post函数后面加一个参数"json",指定接收的数据为json类型的
&&&&&&&&&&&&for(var&i=0;i&arry.i++){
&&&&&&&&&&&&&&&&var&op&=&new&Option(arry[i].empName,arry[i].empId);
&&&&&&&&&&&&&&&&document.getElementById("emp").options.add(op);
&&&&&&&&&&&&}
&&&&&&&&&&}
也可以写成下面这样,返回的就是json类型数组了,就不要难过去引号了,可以直接遍历。
&&&&"emp.do?p=getAllEmp",
&&&&{id:deptId,x:Math.random()},
&&&&function(arry){
&&&&&&&&for(var&i=0;i&arry.i++){
&&&&&&&&&&&&&&&&var&op&=&new&Option(arry[i].empName,arry[i].empId);
&&&&&&&&&&&&&&&&document.getElementById("emp").options.add(op);
&&&&&&&&&}
三,$.ajax(opiton)
说明:$.ajax()这个函数功能强大,可以对ajax进行许多精确的控制,需要详细说明的请参照相关资料
&&&&&&&url:&"ajax/ajax_selectPicType.jsp",
&&&&&&&data:{Full:"fu"},
&&&&&&&type:&"POST",
&&&&&&&dataType:'json',
&&&&&&&success:function(data,&textStatus){
&&&&&&&&&&&...
&&&&&&&error:function(er){
&&&&&&&&&&&BackErr(er);
四,$.getJSON(url,[data],[callback])
说明:$.getJSON(url,[data],[callback])函数没有type参数,返回的是json类型的,不需要转换。
$.getJSON(
&&&&&&&&"dep.do?p=getAllDep",
&&&&&&&&{x:Math.random()},
&&&&&&&&function(arry){
&&&&&&&&&&&&for(var&i=0;i&arry.i++){
&&&&&&&&&&&&&&&&var&op&=&new&Option(arry[i].deptName,arry[i].deptId);
&&&&&&&&&&&&&&&&document.getElementById("dep").options.add(op);
&&&&&&&&&&&&}
&&&&&&&&&}
jquery的其他一些函数:
载入静态页面
load( url, [data], [callback] );url (String) 请求的HTML页的URL地址data (Map)(可选参数) 发送至服务器的 key/value 数据callback (Callback) (可选参数) 请求完成时(不需要是success的)的回调函数
load()方法可以轻松载入静态页面内容到指定jQuery对象。$('#ajax-div').load('data.html');
这样,data.html的内容将被载入到ID为ajax-div的DOM对象之内。你甚至可以通过制定ID来实现载入部分内容的Ajax操作,如:
$('#ajax-div').load('data.html#my-section');实现GET和POST方法
get( url, [data], [callback] )url (String) 发送请求的URL地址.data (Map)(可选参数) 要发送给服务器的数据,以 Key/value 的键值对形式表示,会做为QueryString附加到请求URL中callback (Callback) (可选参数) 载入成功时回调函数(只有当Response的返回状态是success才是调用该方法)
很显然这是一个专门实现GET方式的函数,使用起来也相当的简单$.get('login.jsp', {&& id&&&&& : 'Robin',&& password: '123456',&& gate&&& : 'index'& }, function(data, status) {&& //data为返回对象,status为请求的状态&& alert(data);&& //此时假设服务器脚本会返回一段文字"你好,Robin!",那么浏览器就会弹出对话框显示该段文字&& alert(status);&& //结果为success, error等等,但这里是成功时才能运行的函数& });
post( url, [data], [callback], [type] )
url (String) 发送请求的URL地址.data (Map)(可选参数) 要发送给服务器的数据,以 Key/value 的键值对形式表示callback (Callback) (可选参数) 载入成功时回调函数(只有当Response的返回状态是success才是调用该方法)type (String) (可选参数) 请求数据的类型,xml,text,json等
同样是jQuery提供的一个简便函数,其实用法&$.post('regsiter.jsp', {&& id:'Robin',&& password: '123456',&& type:'user'& },function(data, status) {&& alert(data);& }, "json");
事件驱动的脚本载入函数:getScript()
getScript( url, [callback] )url (String) 待载入 JS 文件地址callback (Function) (可选) 成功载入后回调函数
getScript()函数可以远程载入JavaScript脚本并且执行。这个函数可以跨 域载入JS文件(神奇……?!)。这个函数的意义是巨大 的,它可以很大程度的缩减页面初次载入的代码量,因为你可以根据用户的交互来载入相应的JS文件,而不必在页面初始化的时候全部载入。&$.getScript('ajaxEvent.js', function() {&& alert("Scripts Loaded!");&& //载入ajaxEvent.js,并且在成功载入后显示对话框提示。& });
构建数据通讯的桥梁:getJSON()
getJSON(url,[data],[callback])url (String) 发送请求地址data (Map) (可选) 待发送 Key/value 参数callback (Function) (可选) 载入成功时回调函数。
JSON是一种理想的数据传输格式,它能够很好的融合与JavaScript或其他宿主语 言,并且可以被JS直接使用。使用JSON相比传统的通过 GET、POST直接发送”裸体”数据,在结构上更为合理,也更为安全。至于jQuery的getJSON()函数,只是设置了JSON参数的 ajax()函数的一个简化版本。这个函数也是可以跨域使用的,相比get()、post()有一定优势。另外这个函数可以通过把请求url写 成”myurl?callback=X”这种格式,让程序执行回调函数X。
$.getJSON('feed.jsp',{&& request: images,&& id:&&&&& 001,&& size:&&& large&& }, function(json) {&&& alert(json.images[0].link);&&& //此处json就是远程传回的json对象,假设其格式如下:&&& //{'images' : [&&& // {link: images/001.jpg, x :100, y : 100},&&& // {link: images/002.jpg, x : 200, y 200:}&&& //]};&& }&);
更底层的ajax()函数虽然get()和post()函数非常简洁易用,但是对于更复杂的一些设计需求还是无法实现,比如在ajax发送的不同时段做出不同的动作等。jQuery提供一个更为具体的函数:ajax()。
ajax( options )ajax()提供了一大票参数,所以可以实现相当复杂的功能。
参数名 类型 描述&url String (默认: 当前页地址) 发送请求的地址。&type String (默认: “GET”) 请求方式 (“POST” 或 “GET”), 默认为 “GET”。注意:其它 HTTP 请求方法,如 PUT 和 DELETE 也可以使用,但仅部分浏览器支持。&timeout Number 设置请求超时时间(毫秒)。此设置将覆盖全局设置。&async Boolean (默认: true) 默认设置下,所有请求均为异步请求。如果需要发送同步请求,请将此选项设置为 false。注意,同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行。&beforeSend Function 发送请求前可修改 XMLHttpRequest 对象的函数,如添加自定义 HTTP 头。
XMLHttpRequest 对象是唯一的参数。
function (XMLHttpRequest) { // the options for this ajax request}
&cache Boolean (默认: true) jQuery 1.2 新功能,设置为 false 将不会从浏览器缓存中加载请求信息。&complete Function 请求完成后回调函数 (请求成功或失败时均调用)。
参数: XMLHttpRequest 对象,成功信息字符串。
function (XMLHttpRequest, textStatus) { // the options for this ajax request}
&contentType String (默认: “application/x-www-form-urlencoded”) 发送信息至服务器时内容编码类型。默认值适合大多数应用场合。&data Object,String 发送到服务器的数据。将自动转换为请求字符串格式。GET 请求中将附加在 URL 后。查看 processData 选项说明以禁止此自动转换。必须为 Key/Value 格式。如果为数组,jQuery 将自动为不同值对应同一个名称。如 {foo:["bar1", "bar2"]} 转换为 ‘&foo=bar1&foo=bar2′。&dataType String 预期服务器返回的数据类型。如果不指定,jQuery 将自动根据 HTTP 包 MIME 信息返回 responseXML 或 responseText,并作为回调函数参数传递,可用值:
“xml”: 返回 XML 文档,可用 jQuery 处理。
“html”: 返回纯文本 HTML 信息;包含 script 元素。
“script”: 返回纯文本 JavaScript 代码。不会自动缓存结果。
“json”: 返回 JSON 数据 。
“jsonp”: JSONP 格式。使用 JSONP 形式调用函数时,
如 “myurl?callback=?” jQuery 将自动替换 ? 为正确的函数名,以执行回调函数。&error Function (默认: 自动判断 (xml 或 html)) 请求失败时将调用此方法。
这个方法有三个参数:XMLHttpRequest 对象,错误信息,(可能)捕获的错误对象。
function (XMLHttpRequest, textStatus, errorThrown) {// 通常情况下textStatus和errorThown只有其中一个有值 // the options for this ajax request}
&global Boolean (默认: true) 是否触发全局 AJAX 事件。设置为 false 将不会触发全局 AJAX 事件,
如 ajaxStart 或 ajaxStop 。可用于控制不同的Ajax事件&ifModified Boolean (默认: false) 仅在服务器数据改变时获取新数据。
使用 HTTP 包 Last-Modified 头信息判断。&processData Boolean (默认: true) 默认情况下,发送的数据将被转换为对象(技术上讲并非字符串)
以配合默认内容类型 “application/x-www-form-urlencoded”。
如果要发送 DOM 树信息或其它不希望转换的信息,请设置为 false。&success Function 请求成功后回调函数。这个方法有两个参数:服务器返回数据,返回状态
function (data, textStatus) {// data could be xmlDoc, jsonObj, html, text, etc...&// the options for this ajax request}
你 可以指定xml、script、html、json作为其数据类型,可以为beforeSend、error、sucess、complete等状态设置 处理函数,众多其它参数也可以订完完全全定义用户的Ajax体验。下面的例子中,我们用ajax()来调用一个XML文档:
$.ajax({&&& url: 'doc.xml',&&& type: 'GET',&&& dataType: 'xml',&&& timeout: 1000,&&& error: function(){&&&&&&& alert('Error loading XML document');&&& },&&& success: function(xml){&&&&&&& alert(xml);& //此处xml就是XML的jQuery对象了,你可以用find()、next()或XPath等方法在里面寻找节点,和用jQuery操作HTML对象没有区别&&& }});
进一步了解AJAX事件前面讨论的一些方法都有自己的事件处理机制,从页面整体来说,都只能说是局部函数。jQuery提供了AJAX全局函数的定义,以满足特殊的需求。下面是jQuery提供的所有函数(按照触发顺序排列如下):
ajaxStart(全局事件) 开始新的Ajax请求,并且此时没有其他ajax请求正在进行beforeSend(局部事件) 当一个Ajax请求开始时触发。如果需要,你可以在这里设置XMLHttpRequest对象ajaxSend(全局事件) 请求开始前触发的全局事件success(局部事件) 请求成功时触发。即服务器没有返回错误,返回的数据也没有错误ajaxSuccess全局事件全局的请求成功error(局部事件) 仅当发生错误时触发。你无法同时执行success和error两个回调函数ajaxError全局事件全局的发生错误时触发complete(局部事件) 不管你请求成功还是失败,即便是同步请求,你都能在请求完成时触发这个事件ajaxComplete全局事件全局的请求完成时触发ajaxStop(全局事件) 当没有Ajax正在进行中的时候,触发局部事件在之前的函数中都有介绍,我们主要来看看全局事件。对某个对象进行全局事件监听,那么全局中的AJAX动作,都会对其产生影响。比如,当页面在进行AJAX操作时,ID为”loading”的DIV就显示出来:
&$("#loading").ajaxStart(function(){&& $(this).show();&});
全局事件也可以帮助你编写全局的错误相应和成功相应,而不需要为每个AJAX请求独立设置。有必要指出,全局事件的参数是很有用的。除了 ajaxStart、ajaxOptions,其他事件均有event, XMLHttpRequest, ajaxOptions三个参数。第一个参数即事件本身;第二个是XHR对象;第三个是你传递的ajax参数对象。在一个对象里显示全局的AJAX情况:
$("#msg").beforeSend(function(e,xhr,o) {&$(this).html("正在请求"+o.url);&}).ajaxSuccess(function(e,xhr,o) {&$(this).html(o.url+"请求成功");&}).ajaxError(function(e,xhr,o) {&$(this).html(o.url+"请求失败");});
很显然,第三个参数也可以帮助你传递你在AJAX事件里加入的自定义参数。 在单个AJAX请求时,你可以将global的值设为false,以将此请求独立于AJAX的全局事件。
&$.ajax({&& url: "request.jsp",&& global: false,&& // 禁用全局Ajax事件.&});
如果你想为全局AJAX设置参数,你会用上ajaxSetup()函数。例如,将所有AJAX请求都传递到request.php,;禁用全局方法;强制用POST方法传递:
$.ajaxSetup({& url: "request.jsp",& global: false,& type: "POST"});
一些你不得不知道的方法写AJAX肯定离不开从页面获取相应的值。在这里简单列举一些方法:
val()&val()函数可以返回表单组建的值,例如任何种类input的值。配合选择符操作,你可以轻易获取选项组、输入框、按钮等元素的值。
$("input[name='info']:text").val();//返回名字为info的文本框的值$("input[name='pass']:password").val();//返回名字为pass的密码框的值$("input[name='save']:radio").val();//返回名字为save的单选项的值//以此类推
serialize()
serialize函数可以帮你把表单对象的所有值都转换为字符串序列。如果你要写GET格式的请求,这个就非常方便了。serializeArray()和serialize()类似,只不过它返回的是JSON对象。
人打赏支持
码字总数 69244
支付宝支付
微信扫码支付
打赏金额: ¥
已支付成功
打赏金额: ¥
& 开源中国(OSChina.NET) |
开源中国社区(OSChina.net)是工信部
指定的官方社区

我要回帖

更多关于 ajax定时发送请求 的文章

 

随机推荐