结合jquery初始化.ajax调用请求
默认的ajax由于受到浏览器的限制,方法不允许跨域通信。如果尝试从不同的域请求数据,会出现安全错误,也就是所谓的跨域安全策略的一个错误。
跨域请求方式,怎么解决呢?
这个时候,jsonp来解决跨域问题
解决方式
$(function(){
$.ajax(
url: "xxxxx",
type: "get",
dataType: "jsonp",//定义请求数据类型为“jsonp”
data: ""
success: function(data){
//判断返沪数据是否成功
if(data.success){
document.querySelector("#show").innerHTML = data;
}
},
error:function(err){
alert(err);
}
);
});
传统方式
function sendGet(url){
//用 ajax 写,默认请求类型为json
$.ajax(
{
url:url,
method:'get',
success: function(data){
document.querySelector("#haha").innerHTML = data;//这里的 data不是数组
},
error:function(err){
alert(err);
}
});
问题
-
1、jsonp 只能使用get方式去请求,就算你是post 它也会自动转成get
-
2、请求时,当服务器发送异常时,原生的ajax无法捕获异常