一、 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 回调函数取JSON成功代码,不需要数据库,jquery路径引导正确可运行,数据调用是已定义json数据
本文是小编给大家带来的jQuery Ajax Post 回调函数不执行的原因及解决方法,在本文最下面还给大家附加jquery Ajax 不执行回调函数success的原因,这两个问题都非常多见,感兴趣的朋友一起看下吧
ajax的jquery代码,jquery代码,简单运用,适合初学者,经典!!!!!!!
用struts2+jquery的ajax的几个小例子,级联,自动补全等,没有数据库,直接就运行。
使用 jQuery,您可以把握问题的要点,并使用尽可能最少的代码实现您想要的功能。 毫无疑问,jQuery 的原理是独一无二的:它的目的就是保证代码简洁并可重用。当您理解并体会这一原理后,便可以开始学习本教程了,看...
jquery和ajax的集成例子 jquery和ajax的集成例子 jquery和ajax的集成例子
该资源包含了一个使用jquery提交表单的代码,简单易懂,喜欢的下载。
ServletActionContext.getResponse().setContentType(“text/json;... 您可能感兴趣的文章:jQuery Ajax Post 回调函数不执行问题的解决方法Javascript基于AJAX回调函数传递参数实例分析ajax回调函数中使用$(this)取不到
以上所述是小编给大家介绍的Ajax获取回调函数无法赋值给全局变量的问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对软件开发网网站的支持! 您可能感兴趣的...
主要介绍了jQuery实现ajax回调函数带入参数的方法,结合实例形式对比分析了jQuery实现ajax回调函数不带入参数与带入参数的具体实现技巧,需要的朋友可以参考下
通过jquery,通过ajax技术访问 server.asp,然后在用回调函数实现本地javascript的调用。这样可以实现通过服务器端控制客户端的html元素。 <!--html客户端代码,演示如何调用jquery的回调函数-->
很适合刚学ajax的学院进行研究的一套代码,容易理解,上手快
jquery ajax源代码
php+jquery+ajax最简单例子
Ajax jquery的使用 Ajax jquery的使用 Ajax jquery的使用 Ajax jquery的使用 Ajax jquery的使用
Ajax(jQuery实现例子) Ajax(jQuery实现例子) Ajax(jQuery实现例子) Ajax(jQuery实现例子) Ajax(jQuery实现例子) Ajax(jQuery实现例子) Ajax(jQuery实现例子)
基于VS2008实现的jQuery-Based Ajax.Net library类库及例子程序代码。
本函数封装了js的ajax,php为处理后台数据,仅支持post,代码很简洁
这是我在学习Ajax和Jquery的时候敲的代码示例,含有数据库,包含模仿百度提示,注册账号检测用户名是否可以使用,以及使用JQuery向服务器请求,实现省市联动的效果等代码。
简短例子总结,多个ajax共享变量,改变异步属性设置即可,一句话的事情