就是说,一旦服务器处理完XMLHttpRequest并返回给浏览器,
用xhr.onreadystatechange指派的回调方法将自动调用。
上面差不多就是XMLHttpRequest的整个工作流程,
它首先检查XMLHttpRequest的整体状态并且保证它已经完成 (readyStatus=4),
然后根据服务器的设定询问请求状态,
如果一切已经就绪(status=200),那么就执行下面需要的操作。
过程步骤不复杂 就三个步骤:
1.创建一个XMLHttpRequest对象
2.发送一个XMLHttpRequest请求
3.将请求后服务器返回的结果数据输出到html
下面重点看看要实现ajax跨域提交数据,应该如何做!
直接用jquery的$.ajax 方法吧
代码如下 复制代码
$(document).ready(function(){
$("input[name=username]").blur(function(){
$.ajax({
type: "GET", //必须是get方式!!!
url: "",
dataType:"jsonp", //必须指定是jsonp
jsonp:"json_callback", //必须指定服务器端要接收的callback函数名! 请看test.php如何接收
data: {username:$('#username').val()},
success: function(json){
if(json.msg=='err')
alert(json.info);
else if(json.msg=='ok')
alert('提交成功');
else
alert('提交失败');
},
error:function(){
alert("error!!!");
},
});
});
});
test.php
代码如下 复制代码
//接收js传过来的callback函数名,
//为了在下面echo组装....$username = $_GET['username'];
$jsonp_callback = $_GET['json_callback'];
echo $jsonp_callback,'({"msg":"err","info":"'.$username.'"})'; exit;
到这里,跨域获取数据,提交数据正式完毕!