因爲瀏覽器同源策略(協議,域名,端口有任何一個的不一樣)的限制,訪問非同源的數據須要進行跨域處理,若是非同源--有三種行爲受到限制:ajax
實現原理:json
JQ封裝的ajax方法跨域請求:後端
<script>
$.ajax({
type: 'GET',
url: 'http://localhost:4000/jsonp?callback=?', // ? 能夠理解爲下面的success方法。
success: function (data) {
// data就是服務器返回的數據
console.log(data);
},
dataType: 'jsonp' // 必需要指定dataType爲jsonp
});
</script>
複製代碼
Cross Origin Resource Share 跨域資源共享(後端完成)跨域
Access-Control-Allow-Origin", "*"
// 設置容許跨域訪問該服務, cors
app.all('*', function (req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header('Access-Control-Allow-Methods', 'PUT, GET, POST, DELETE, OPTIONS');
res.header('Access-Control-Allow-Headers', 'Content-Type','mytoken');
next();
});
複製代碼