1. 程式人生 > >【PHP】Ajax跨域解決方案 、jsonp、cors

【PHP】Ajax跨域解決方案 、jsonp、cors

code col 服務器 實現 官方 跨域傳輸 ref 響應 非官方

參考文章:

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:跨站資源共享

技術分享圖片,我們可以在指定ajax的方法裏面,設置以下參數:

header("Access-Control-Allow-Origin: *");   //全域名
header("Access-Control-Allow-Credentials: true");   //是否可以攜帶cookie

header("Access-Control-Allow-Methods: POST,GET"); //允許請求方式
//header("Access-Control-Allow-Origin: //www.jb51.net");//指定域名訪問 //CORS跨域支持post和get方式,而jsonp跨域只支持get方式

【PHP】Ajax跨域解決方案 、jsonp、cors