javascript--ajax笔记

javascript ajax

request.open("POST","get.php",true);
request.setRequestHeader("Content-type","application/x-www-form-urlencoded");//告诉服务器是"POST"请求
request.send("username=王二狗&password=123456");

//Http请求有两种方式,"POST"和"GET","POST"一般用于修改服务器数据时使用如提交表单,安全,"GET"一般用于请求得到数据时使用,获得的数据会显示在url上


var request = new XMLHttpRequest(); //创建一个异步对象,建立一个XMLHttpRequest对象,ie5、6不支持,通过XMLHttpRequest层进行数据交互

request.open("GET","get.php?number=1&sex=男 ",true); //"GET"定义后发送的方式和url及参数,"POST"参数写在send(参数);
request.send(); //将前台需要的http请求发送

request.onreadystatechange = function(){ //onreadystatechange监听request
if(request.readyState===4&&request.status===200){ //request.readyState判断响应变化情况-4代表响应完成
request.status判断请求是否完成--200完成
var text = request.responseText; //获取查询结果
}
}

服务器端(url地址端)需写好接口处理客户端发送过来的请求及做对应的动作

浏览器在地址栏输入url并回车属于get方法,服务器端接收到这个Http请求,在写好的脚本中判断,符合则返回页面

(浏览器通过url访问服务器,服务器端判断true后返回一个html页面的过程?)

在地址栏中打url要发送参数:url?number=1&sex=男


当服务器返回json数据时,客户端用var jsonDate = eval("(" + request.responseText + ")");||var jsonDate = JSON.parse(request.responseText) //获取json格式数据对象

 

jQuery ajax
$(function(){
$.ajax(){

type:"POST",//"GET"不需要data
url:,
data:{
name:$().val(),
number:$().val(),
sex:$().val(),
job:$().val()
},
dataType:"json",
success:function(obj){

},
error:function(obj){
alert("发生错误:"+obj.status);
}
}

})

 

跨域

http:// www . abc.com :8080 / scripts/jquery.js
协议 子域名 主域名 端口号 请求资源地址


当协议 子域名 主域名 端口号任意一个不同时,算不同域,不同域间相互请求资源就算作"跨域"


解决方案:

1、后台使用代理

2、jsonp
前端 dataType:"jsonp",
jsonp:"callback",

后台 $jsopn = $
$jsopn.

3、XHR2

 

博客:http://www.cnblogs.com/alex-web/

注:小疯纸的yy

posted @ 2015-10-11 21:36  小疯纸的yy  阅读(179)  评论(0编辑  收藏  举报