您当前的位置: 首页 > 学无止境 > 网站建设 网站首页网站建设
jquery-ajax跨域与jqXHR对象
发布时间:2016-04-03 23:04:41编辑:雪饮阅读()
Jquery-ajax的ajax获取json数据:
//ajax方法开始
$.ajax(
{
type:'POST',
url:"test.json",
dataType:"json",
success: function(response,status,xhr){alert(response[0].url);},
}
);
//ajax方法结束
Jquery-ajax中getJSON的跨域请求:
Html:
$.getJSON("http://www.xysmarty.cn/json2.php?callback=?",function(response){alert(response);console.log(response);});
Php:
<?php
$arr=array("a"=>1,"b"=>2,"c"=>3);
$res=json_encode($arr);
$callback=$_GET["callback"];
echo $callback."($res)";
?>
Jquery-ajax中ajax方法的跨域:
//ajax方法开始
$.ajax({
type:'POST',
url:'http://www.xysmarty.cn/json2.php?callback=?',
dataType:'json',
success: function(response,status,xhr){console.log(response);alert(response.a);},
});
//ajax方法结束
Jquery-ajax中ajax方法的跨域2(不用添加callback参数也可以,只需要将dataType类型改为jsonp即可):
//ajax方法开始
$.ajax({
type:'POST',
url:'http://www.xysmarty.cn/json2.php',
dataType:'jsonp',
success: function(response,status,xhr){console.log(response);alert(response.a);},
});
//ajax方法结束
});
Jquery-ajax中使用jqXHR对象进行异步请求:
var jqXHR=$.ajax({
type:'POST',
url:'test.php',
data:$("form").serialize()
})
jqXHR.success(function(response){alert(response)});
需要注意的是:
如果使用jqXHR对象,建议用.done(),.always()和.fail()方法来代替.success(),.complete(),.error(),因为在未来版本中,可能将这三种方法废弃掉
Jquery-ajax中的多回调函数:
var jqXHR=$.ajax("t1.php");
var jqXHR2=$.ajax("t2.php");
$.when(jqXHR,jqXHR2).done(function(r1,r2){
alert(r1[0]);
alert(r2[0]);
});
关键字词:jquery,ajax,jqXHR