百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>JS教程> ajax入门教程之XMLHttpRequest与$.ajax使用说明
分享文章到:

ajax入门教程之XMLHttpRequest与$.ajax使用说明

发布时间:01/15 来源: 浏览: 关键词:
在js中使用ajax有两种常用的方法,最初使用的是原生态的XMLHttpRequest写法,还有一种就是现在流行Jquery ajax 用法,下面我来分别介绍一下。

对于Ajax,最核心的一个对象是XMLHttpRequest,所有的Ajax操作都离不开对这个对象的操作。
创建XMLHttpRequest对象
对于IE浏览器:

 代码如下

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

对于其他浏览器:

 代码如下

xmlHttp = new XMLHttpRequest();

不同的浏览器对javascript中的XMLHttpRequest对象的支持是不一样的,所以需要根据情况做一下判断。

XMLHttpRequest对象相关方法
 
打开请求

XMLHttpRequest.open(传递方式,地址,是否异步请求)

准备就绪执行

XMLHttpRequest.onreadystatechange

获取执行结果

XMLHttpRequest.responseText

一个简单的php+Ajax的例子:
首先是test.js文件:

 代码如下

var xmlHttp;
function S_xmlhttprequest(){
 if(window.ActiveXObject){
  xmlHttp=new ActiveXObject('Microsoft.XMLHTTP');
 }else if(window.XMLHttpRequest){
  xmlHttp=new XMLHttpRequest();
 }
}
function php100(url){
 S_xmlhttprequest();
 xmlHttp.open("GET","do.php?id="+url,true);
 xmlHttp.onreadystatechange=byphp;
 xmlHttp.send(null);
}
function byphp(){
 var byphp100=xmlHttp.responseText;
 document.getElementById('php100').innerHTML=byphp100;
}

然后是执行php操作的文件,do.php

 代码如下

<?PHP
$id=@$_GET[id];
for($i=1;$i<10;$i++){
 echo $id;
}

然后是前端显示页面,test.html

 代码如下

<script src="test.js" type="text/javascript"></script>
<a href="#" onClick="php100(1)">1</a> ||
<a href="#" onClick="php100(2)">2</a> ||
<a href="#" onClick="php100(3)">3</a>
<div id="php100"></div>

 jQuery ajax中数据以键值对(Key/Value)的形式发送到服务器,使用ajax提交表单数据时可以使用jQuery ajax的serialize() 方法表单序列化为键值对(key1=value1&key2=value2…)后提交。serialize() 方法使用标准的 URL-encoded 编码表示文本字符串。下面是使用serialize()序列化表单的实例:

jQuery ajax原型:

 代码如下

$.ajax({
   type: "POST",
   url: ajaxCallUrl,
   data: "Key=Value&Key2=Value2",
   success: function(msg){alert(msg);}
 });


ajax serialize():

 代码如下
$.ajax({
         type: "POST",
         url:ajaxCallUrl,
         data:$('#formID').serialize(),// 要提交的表单
         success: function(msg) {alert(msg);}
     });

serialize()序列化表单实例:

 

 代码如下

 

<script type="text/javascript" src="/demo/jquery/jquery-1.7.2.min.js"
></script>
<script type="text/javascript">
$(document).ready(function(){
   $("#button").click(function(){
     alert($("#myForm").serialize());
   });
});
</script>
<form id="myForm">
    姓名 <input value="liming" name="Name" /><br />
    职位 <input value="CEO" name="position" /><br />
        <input id="button" value="序列化表单" type="button" />
</form>
14 </form>

姓名
职位 
 
提示

个人更推荐大家做jquery ajax哦,这个不介兼容好并且有各种函数支持如load,post,get,getjson,getscript都可以快速实现ajax加载了。

打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有4人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板