1. 程式人生 > >解決ajax跨域的辦法,代理,cors,jsonp

解決ajax跨域的辦法,代理,cors,jsonp

resource 通過 使用 -o 參考 acc log 方式 sha

技術分享圖片

1、使用php做代理去請求第三方api接口

php是可以跨域的,我們利用ajax請求本域名中的php文件,php再去請求第三方接口文件,從而達到跨域目的。

技術分享圖片

php做代理請求:

技術分享圖片

ajax請求本域名php代理文件:

技術分享圖片

請求結果:成功

技術分享圖片

將數據取出:

技術分享圖片

結果:

技術分享圖片

2、通過PHP設置響應頭允許跨域(CORS方式)

CORS跨域資源共享,Cross-Origin Resource Sharing定義一種跨域訪問的機制,可以讓AJAX實現跨域訪問。CORS 允許一個域上的網絡應用向另一個域提交跨域 AJAX 請求。實現此功能非常簡單,只需由服務器發送一個響應頭即可

header("Access-Control-Allow-Origin:*"); // 允許任何來源

header("Access-Control-Allow-Origin:http://local.com"); //只允許來自域名http://local.com的請求

技術分享圖片

代碼如下:

local.com域名文件:

技術分享圖片

請求其他域名native.com:

技術分享圖片

請求的結果:成功

技術分享圖片

3jsonp跨域

可以參考我的這篇文章:http://www.cnblogs.com/nosmoking/p/8407024.html

解決ajax跨域的辦法,代理,cors,jsonp