從服務器響應回來的網頁,有某個標籤指向另一個服務器,這就叫跨域。 ajax
ajxa是不支持跨域訪問的,可是有3種實現跨域訪問json
一、用代理跨域
架設代理服務器,用代理服務器進行訪問。服務器
二、設置響應頭
設置響應頭的方式容許跨域訪問 函數
res.setHeader("Access-Control-Allow-Origin","*"); post
*表示能夠訪問全部文件 jsonp
res.setHeader("Access-Control-AllowMethods","GET,POST"); url
提交的方式是get和post.spa
三、jsonp
採用<script>標籤進行跨域訪問
<script> 代理
function test_p(json){ }
$(function(){
$.ajax({
type:"get", url:"http://localhost:3000/show_list", success:function(d){
console.log(d);
},
dataType:"jsonp",
//預期服務器返回的數據類型爲jsonp類型。
jsonp:"callback", //在一個jsonp請求中重寫回調函數的名字。
jsonpCallback:"callback" //爲jsonp請求指定一個回調函數名。
});
});
</script>