怎么实现ajax请求
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么实现ajax请求相关的知识,希望对你有一定的参考价值。
这个问题我昨天就回答了:方式有多种吧 ,下面我把常用的ajax写法写出来
首先要清楚:ajax=javascript+xml,所以ajax也是写在script标签下面的哈!
先写个最原生态的
//创建一个xmlhttp对象
var xmlhttp;
if (window.XMLHttpRequest)
// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
else
// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
<script type="text/javascript">
function loadXMLDoc()
var xmlhttp;
if (window.XMLHttpRequest)
// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
else
// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
//监听xmlhttp对象状态
xmlhttp.onreadystatechange=function()
if (xmlhttp.readyState==4 && xmlhttp.status==200)
//成功返回后进入
//发送一个get请求,异步方式(也就是局部刷新数据)
xmlhttp.open("GET","/ajax/demo_get.asp",true);
xmlhttp.send();
</script>
另一种方法就是 jquery的方式
//反正这些都在w3c中有,自己看看,像是jquery的load函数啊,可以根据参数来自动切换post请求与get请求,希望能帮助到你。
$("button").click(function()
$.post("demo_test_post.asp",
name:"Donald Duck",
city:"Duckburg"
,
function(data,status)
alert("Data: " + data + "\nStatus: " + status);
);
); 参考技术A ajax请求的五个步骤如下
步骤如下五个步骤
1.创建异步对象,首先,创建一个XMLHttpRequest异步对象。
2.设置请求方式和地址,然后,设置请求方式和请求地址
3.用send发送请求,接着,用send发送请求。
4.监听状态变化,然后,监听状态变化。
5.接收返回的数据,最后,接收返回的数据
ajax请求怎么写后台处理?
$.ajax(
type: 'post',
async: true, //同步执行,不然会有问题
dataType: "json",
url: "jsonss", //提交的页面/方法名
data: "'userName':'" + $("#txt_search").val() + "'", //参数(如果没有参数:null)
error: function (msg) //请求失败处理函数
alert("数据加载失败");
,
success: function (data) //请求成功后处理函数。
/* var objData = eval("(" + data.userName + ")"); */
console.log(data);
if (data.length > 0)
var layer = "";
layer = "<table id='aa'>";
$.each(data, function (idx, item)
layer += "<tr class='line'><td class='std'>" + item.userName + "</td></tr>";
);
layer += "</table>";
//将结果添加到div中
$("#searchresult").empty();
$("#searchresult").append(layer);
$(".line:first").addClass("hover");
$("#searchresult").css("display", "");
//鼠标移动事件
$(".line").hover(function ()
$(".line").removeClass("hover");
$(this).addClass("hover");
, function ()
$(this).removeClass("hover");
//$("#searchresult").css("display", "none");
);
//鼠标点击事件
$(".line").click(function ()
$("#txt_search").val($(this).text());
$("#searchresult").css("display", "none");
);
else
$("#searchresult").empty();
$("#searchresult").css("display", "none");
);
然后得到参数后就可以在业务层进行查询等操作,总之你要先获取你前端传过来的参数你才能进行后面的操作。 参考技术A 后台处理看你选择什么语言,然后接收请求,进行处理。另外提一下async:true是异步,同步是false。
以上是关于怎么实现ajax请求的主要内容,如果未能解决你的问题,请参考以下文章
怎么样在jQuery progressbar中通过Ajax请求实现后台进度实时功能