`

ajax使用回调函数的例子(原生代码和jquery代码)

    博客分类:
  • Ajax
 
阅读更多

via: http://hi.baidu.com/7636553/item/bbcf5fc93c8c950aac092f22

 

ajax使用回调函数的例子(原生代码和jquery代码)

一、 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 //处理完毕

 

<script type="text/javascript" >

//创建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);

  }

</script>

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", {suggest:txt}, 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("<li>"+$(domEle).children("title").text()+"</li>");

});

},

complete: function(XMLHttpRequest, textStatus){

//HideLoading();

},

error: function(){

//请求出错处理

}

});

分享到:
评论

相关推荐

    jQuery的Ajax实现异步传输List、Map

    本话题将深入探讨如何使用jQuery的Ajax功能实现异步传输List和Map类型的数据,同时涉及JSON数据格式的使用。 首先,让我们了解JSON(JavaScript Object Notation),它是轻量级的数据交换格式,易于人阅读和编写,...

    从Ajax到JQuery Ajax学习

    在这个例子中,`$.ajax()`方法接收一个配置对象,其中包括URL、请求类型、发送的数据、成功的回调函数以及失败的回调函数等。 #### 总结 从原始的Ajax技术到利用jQuery进行Ajax操作,我们可以看到前端开发领域不断...

    Java学习Ajax的小例子

    4. **DOM操作**:在JavaScript的回调函数中,你会解析Servlet返回的数据(可能是XML、JSON或其他格式),然后使用DOM(Document Object Model)API来更新网页的特定部分。例如,你可能要在某个div元素中插入新的文本...

    php+jquery+ajax无刷新多图上传

    - AJAX的success回调函数处理服务器响应,如显示上传成功信息或更新UI。 总结:通过结合PHP、jQuery和AJAX,我们可以实现一个高效、无刷新的多图上传功能。这种方式极大地提升了用户体验,因为用户可以一次性选择...

    jQuery使用的小例子

    9. **函数参数和回调**:理解如何使用函数参数和回调函数,如`$(document).ready()`, `$.getJSON()`, `setTimeout()`等。 10. **版本兼容性**:了解不同版本的jQuery之间的差异,以及如何处理浏览器兼容性问题。 ...

    使用ajax实现异步提交的例子

    如果请求过程中出现错误,`error`回调函数会被调用,我们可以在这里进行错误处理,例如显示错误信息。 服务器端的`get_cities_by_province.php`通常会接收到`provinceId`参数,查询数据库获取对应省份的城市,然后...

    jquery ajax无刷新技术

    - `error`:请求失败时执行的回调函数,参数`jqXHR`, `textStatus`, `errorThrown`分别表示错误的XMLHttpRequest对象、状态和错误信息。 ### 7. JSON2.js 在旧版浏览器中,不支持原生的JSON解析和序列化。`json2....

    Ajax基础教程源代码.rar

    8. **异步编程模式**:由于Ajax操作是异步的,因此源代码可能会涉及回调函数、Promise或async/await等异步编程技术。 通过深入研究这些源代码,读者不仅可以了解Ajax的基本用法,还能学习到如何在实际项目中应用...

    原生js仿jquery实现对Ajax的封装

    本篇文章将探讨如何使用原生JavaScript来模仿jQuery实现Ajax的封装,以便更好地理解其工作原理。 首先,我们关注的是函数封装的灵活性,特别是能够处理无限数量的参数。在jQuery中,Ajax请求通常通过一个包含各种...

    jquery错误例子

    确保URL、数据类型(dataType)、数据(data)和回调函数设置正确。 3. Servlet处理请求:在Servlet端,你需要重写`doGet()`或`doPost()`方法来接收并响应请求。确认请求路径是否与jQuery中的URL匹配,同时检查...

    用javascript,jquery,dwr 实现ajax的入门例子

    jQuery的`$.ajax()`方法使得设置请求变得更加简洁,包括URL、类型、数据以及处理成功和失败的回调函数。 最后,我们来看DWR(Direct Web Remoting),这是一个为Java应用程序提供Ajax支持的框架。DWR允许直接调用...

    ajax 例子 ajax 安装包

    在实际开发中,直接使用原生的XMLHttpRequest有诸多不便,因此出现了许多Ajax库,如jQuery的$.ajax()、axios、fetch API等,它们提供了更友好的API和更好的兼容性。 ### 五、异步处理与回调函数 Ajax的异步特性使得...

    ajax请求例子

    jQuery库提供了$.ajax()方法简化了原生JavaScript中使用XMLHttpRequest对象的方式。$.ajax()方法接受一个对象作为参数,该对象包含了一系列配置选项,用于定制AJAX请求的行为。 #### 四、$.ajax()方法配置项解释 1...

    ajax 开发资料 和详细例子

    服务器处理请求并返回数据,XMLHttpRequest对象的onreadystatechange事件监听数据的返回状态,当状态变化时,执行回调函数处理返回的数据。 **二、Ajax的优势** 1. **用户体验提升**:页面无刷新,减少了用户的等待...

    ajax请求后台接口数据与返回值处理js的实例讲解

    在上文提供的代码示例中,$.ajax方法有多个配置参数,它们分别代表不同的请求设置和回调函数: - url:字符串类型,表示请求的服务器地址。 - type:字符串类型,表示请求的方式,常见的有"GET"和"POST"。 - data:...

    jQuery.ajax 用户登录验证代码

    - **错误处理**: 示例代码中没有展示错误处理,实际应用应包含`error`回调函数来处理请求失败的情况。 - **异步性质**: Ajax请求是异步的,这意味着`$.ajax`调用后,代码不会阻塞等待响应,而是继续执行后续代码。...

    jquery confirm漂亮的例子

    jQuery Confirm还支持自定义图标、动画效果、回调函数、全局配置等多种特性。例如,你可以设置对话框的图标,添加背景模糊效果,或者改变按钮布局: ```javascript $.confirm({ icon: 'fa fa-exclamation-triangle...

    ajax进门例子

    10. **错误处理**:在示例中,你应看到如何处理请求失败的情况,例如设置一个错误回调函数,处理网络故障、服务器错误等问题。 通过学习和实践这些Ajax入门例子,你将能够掌握Ajax的基本原理和应用,为构建动态、...

    Ajax20例子

    10. **jQuery和其他库**:虽然可以直接使用原生的XMLHttpRequest,但很多开发者选择使用jQuery或其他JavaScript库简化Ajax操作,它们提供了更加简洁的API。 11. **跨域问题**:默认情况下,Ajax请求遵循同源策略,...

    JqueryAjax_and_JS_ajax

    success: function(response) { // 成功时的回调函数 console.log(response); }, error: function(xhr, status, error) { // 错误处理 console.error(error); } }); ``` 2. **简化的 AJAX 函数**: 除了 `$....

Global site tag (gtag.js) - Google Analytics