一、ajax代码存在的问题(异步交互的问题)

ajax所请求的url,如果因为网络等问题,很久没有回应,则给用户造成“假死”的现象。

代码如下:

xmlHttp = GetXmlHttpObject();

xmlHttp.open();

xmlHttp.send();

//下面这句,会一直等待,直到有返回值

alert(xmlHttp.responseText);

二、 ajax代码异步交互的解决方式

1. Javascript原生ajax代码

先创建xmlhttp对象,然后执行open和send,通过xmlHttp.onreadystatechange =stateChanged回调函数来处理返回值。

readyState== 0 //尚未加载

readyState== 1 //正在加载

readyState== 2 //加载完毕

readyState== 3 //正在处理

readyState== 4//处理完毕

//创建ajax

function testAjax(){

xmlHttp = GetXmlHttpObject();

if(xmlHttp == null){

alert("浏览器不支持");

return;

}

var url = "http://www.qq.com";

xmlHttp.onreadystatechange = stateChanged;

xmlHttp.open("GET",url,true);

xmlHttp.send();

//document.getElementById("txt").innerHTML=xmlHttp.responseText;

}

//创建不同的ajax对象

function GetXmlHttpObject(){

var xmlHttp = null;

try{

//firefox opera safari

xmlHttp = new XMLHttpRequest();

}catch (e){

//ie

try{

xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");

}catch(e){

xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");

}

}

return xmlHttp;

}

//监控状态

function stateChanged()

{

if (xmlHttp.readyState==4)

{

//document.getElementById("txt").innerHTML=xmlHttp.responseText;

alert(xmlHttp.responseText);

}

}

2. jquery中ajax的写法

(1)Post写法

var txt = $("input").val();//换的某个输入框的value

//使用post方法,传输值为suggest=txt,绑定回调函数

$.post("test.html",{suggest:txt},function(result){

$("#div").html(result);

});

(2)Get写法

var txt = $("input").val();//换的某个输入框的value

//使用get方法,传输值为suggest=txt,绑定回调函数

$.get("test.html",function(result){

$("#div").html(result);

});

(3)ajax写法(通过http请求)

$.ajax({

type: "get",

url: "http://www.cnblogs.com/RSS",

beforeSend: function(XMLHttpRequest){

//ShowLoading();

},

success: function(data,textStatus){

$(".ajax.ajaxResult").html("");

$("item",data).each(function(i,domEle){

$(".ajax.ajaxResult").append("

"+$(domEle).children("title").text()+"");

});

},

complete: function(XMLHttpRequest,textStatus){

//HideLoading();

},

error: function(){

//请求出错处理

}

});

ajax怎么回调函数,ajax使用回调函数的例子(原生代码和jquery代码)相关推荐

  1. ajax failed啥意思,AJAX请求返回200 OK,但是一个错误事件被触发而不是成功。

    AJAX请求返回200 OK,但是一个错误事件被触发而不是成功. 我已经在我的网站上实现了一个Ajax请求,我正在从一个网页调用端点.它总是回来200 OK,但是jQuery执行错误事件.我试了很多东 ...

  2. ajax五种回调函数,Ajax的回调函数

    一,为什么要使用回调函数? 首先我们应该明白我们为什么要用回调函数?我们用它能解决什么样的问题. function d(){} (function(){ (function(){ var temp = ...

  3. ajax调用外域接口不进回调函数_网易实战分享云信IM SDK接口设计实践

    文|陈吉力 网易智慧企业高级Android开发工程师 对外接口的设计准则 SDK对外提供接口设计的基本原则是易用,易懂,易扩展,易监控.展开来可归纳为以下几个特性: 1. API按照业务功能分类,但所 ...

  4. jquery定义ajax函数吗,jQuery AJAX自定义函数和自定义回调?

    小编典典 编辑: 最近对此表示赞同,我不得不说我不再这样做.$.ajax返回a,promise因此您可以直接使用promise以更一致和更可靠的方式执行我在这里所做的几乎所有工作. function ...

  5. ajax背景、ajax对象、ajax状态、ajax与http、ajax请求数据接口、同步与异步、ajax请求XML数据、封装ajax函数、artTemplate简介、同源策略和跨域请求、JSONP

    AJAX简介: ajax背景: 1.AJAX(Asynchronous JavaScript And Xml)异步的 JavaScript 和 XML:ajax是浏览器提供的一套API,最早出现在谷歌 ...

  6. ajax要不要入口函数,Ajax - SegmentFault 思否

    ** Ajax 技术应用 1.Ajax 简介 1.1Ajax 是什么? Ajax (Asynchronous JavaScript and XML) 是一种Web应用技术,可以借助客户端脚本(java ...

  7. ajax判断成功状态码,Ajax返回状态码200,成功函数不触发(Ajax returns status code 200, success function not triggering)...

    Ajax返回状态码200,成功函数不触发(Ajax returns status code 200, success function not triggering) 关于这一点有很多话题,但没有一个 ...

  8. async 函数 ajax,Async 函数的使用及简单实现

    解决回调地狱的异步操作,Async 函数是终极办法,但了解生成器和 Promise 有助于理解 Async 函数原理.由于内容较多,分三部分进行,这是第三部分,介绍 Async 函数相关.第一部分介绍 ...

  9. Go 学习笔记(16)— 函数(02)[函数签名、有名函数、匿名函数、调用匿名函数、匿名函数赋值给变量、匿名函数做回调函数]

    1. 函数签名 函数类型也叫做函数签名,可以使用 fmt.Printf("%T") 格式化参数打印函数类型. package mainimport "fmt"f ...

  10. php 回调递归,PHP数组函数 array_walk_recursive (使用回调函数递归遍历数组元素)

    在PHP中,数组函数 array_walk_recursive () 使用回调函数递归遍历数组元素. 函数语法:array_walk_recursive ( array &$array , c ...

最新文章

  1. 试编写一个汇编语言程序,要求对键盘输入的小写字母用大写字母显示出来
  2. 谋局科技创新:两院院士大会释放重要信号
  3. python第四十九天--paramiko模块安装大作战
  4. python网格搜索核函数_机器学习笔记——模型调参利器 GridSearchCV(网格搜索)参数的说明...
  5. JS根据日期比较显示时分或者月日
  6. linux系统运维指南 pdf_linux运维:系统监控命令实践
  7. 3D Slicer源代码编译与调试
  8. 关于Cocos2d-x中自定义的调用注意事项
  9. Unity3d 周分享(11期 2019.2.16)
  10. eviews安装教程
  11. 简易矩阵乘法计算器2.0
  12. CC00072.pbpositions——|HadoopPB级数仓.V01|——|PB数仓.v01|Griffin数据质量监控工具|概述|
  13. 互联网摸鱼日报(2022-11-07)
  14. python中pip下载的代理设置
  15. pyplot中文手册_matplotlib手册(1)-pyplot使用
  16. unity3d发布webgl手机测试流程
  17. Android监听Home键
  18. 腹肌练习能帮助燃烧腹部脂肪吗?看完再也没有疑惑了
  19. Linux终端程序用c语言实现改变输出的字的颜色 (转)
  20. python操作服务器(二)

热门文章

  1. 如何批量修改文件夹名称排序?
  2. C++程序加速的12个方法
  3. oracle oaf界面个性化,OAF—个性化和扩展维护
  4. 几点思考-人生哲学,生活方式---ShinePans
  5. SRS学习-配置DVR
  6. linux系统中怎么复制粘贴快捷键设置,复制粘贴的快捷键是什么 复制粘贴的快捷键介绍【步骤】...
  7. 二次bootloader关于boot28.asm应用的注意事项,28035的
  8. B站下载视频之you-get的使用
  9. 数学建模好学吗?半年带出几十位省奖和十几位国奖
  10. CRMEB多商户商城系统主要功能及技术亮点