怎么实现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");


);

Controller中用@ResponseBody注解,然后用getParamter来获取你想要的参数。
然后得到参数后就可以在业务层进行查询等操作,总之你要先获取你前端传过来的参数你才能进行后面的操作。
参考技术A 后台处理看你选择什么语言,然后接收请求,进行处理。另外提一下async:true是异步,同步是false。

以上是关于怎么实现ajax请求的主要内容,如果未能解决你的问题,请参考以下文章

怎么样在jQuery progressbar中通过Ajax请求实现后台进度实时功能

ajax 怎么访问 url 呀,为啥请求成功了,没有数据返回??请大神们给以指点,在此谢过

jquery ajax从一个网站向另一个网站请求,怎么实现

jquery+ajax怎么实现分页

ajax在jquery的底层是怎么实现的呢?

关于ajax请求等待完成