參考文章:
1、https://blog.csdn.net/u014727260/article/details/72793459 (后台java,實際上差不多)
2、
如何解決ajax跨域傳輸 數據的問題
- JSONP
JSONP是JSON with Padding的略稱。它是一個非官方的協議,它允許在服務器端集成Script tags返回至客戶端,通過javascript callback的形式實現跨域訪問(這僅僅是JSONP簡單的實現形式)。關於jsonp的使用方式,可以參考http://blog.csdn.net/alen1985/article/details/6365394,優缺點可以參考http://blog.csdn.net/z69183787/article/details/19191385 - 添加響應頭,允許跨域
addHeader(‘Access-Control-Allow-Origin:*’);//允許所有來源訪問
addHeader(‘Access-Control-Allow-Method:POST,GET’);//允許訪問的方式
1、JONSP:jquery的ajax 發送jsonp 請求(還可帶上callback指定回調函數,不寫默認callback)


2、CORS:跨站資源共享(簡單請求+復雜請求==》application/json; charset=utf-8 , 則屬於復雜請求)
,我們可以在服務器端PHP示例的方法里面,設置以下參數:
<?php
header("Access-Control-Allow-Origin: *"); //全域名
header("Access-Control-Allow-Credentials: true"); //是否可以攜帶cookie
header("Access-Control-Allow-Methods: POST,GET,PUT,OPTIONS,DELETE"); //允許請求方式
header("Access-Control-Allow-Headers: X-Custom-Header"); //允許請求字段,由客戶端決定
header("Content-Type: text/html; charset=utf-8"); //返回數據類型( text/html; charset=utf-8、 application/json; charset=utf-8 )
//header("Access-Control-Allow-Origin: //www.jb51.net");//指定域名訪問 //CORS跨域支持post、get、put、options、delete方式,而jsonp跨域只支持get方式
>?
Javascript 代碼直接使用 Ajax 即可:
$.ajax({ url: aURL, type: aMethod, data: aParams, dataType: 'json', timeout: 1000 * 120, beforeSend: function (xhr) { var token = $.cookie('token'); if (token) { xhr.setRequestHeader('Authorization', 'Bearer ' + token); } }, success: function (response) { if (response.code == 200) { typeof aSuccess == 'function' && aSuccess(response.data); } else { typeof aError == 'function' && aError(response.message); } }, error: function(xhr, type){ typeof aError == 'function' && aError(xhr.status + ' ' + xhr.statusText); } });
