jsonp方式的ajax请求可以跨域。
例:
var url = url + '&callback=my_callback_func';
$.ajax({
url: url,
async: true,
type: 'GET',
dataType: 'script',
});
function my_callback_func()
{
//你的代码逻辑
}
url中设置的callback参数是在ajax请求成功返回后调用。同时还可以在ajax中添加ajax请求失败的处理(比如请求超时)
$.ajax({
url: url,
async: true,
type: 'GET',
dataType: 'script',
error:function(){}//具体参见w3school说明 http://www.w3school.com.cn/jquery/ajax_ajax.asp
});
注:此方法的 dataType一定要是 script。其他用法请 参见 http://www.w3school.com.cn/jquery/ajax_ajax.asp
下面这种方法转自 点击打开链接
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Untitled Page</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script type="text/javascript">
jQuery(document).ready(function(){
$.ajax({
type : "get",
async:false,
url : "ajax.ashx",
dataType : "jsonp",
jsonp: "callbackparam",//传递给请求处理程序或页面的,用以获得jsonp回调函数名的参数名(默认为:callback)
jsonpCallback:"success_jsonpCallback",//自定义的jsonp回调函数名称,默认为jQuery自动生成的随机函数名
success : function(json){
alert(json);
alert(json[0].name);
},
error:function(){
alert('fail');
}
});
var a="firstName Brett";
alert(a);
});
</script>
</head>
<body>
</body>
</html>