今天遷移一個站點時遇到一個坑爹問題,同一個jsonp接口在跨域時都能調用成功,但是在同域下調用雖然成功,但是數據卻有問題. 此處貼出我的後端代碼片段
$mi_id = htmlspecialchars(trim($_GET['mi_id ']));
$mi_cv = htmlspecialchars(trim($_GET['mi_cv ']));
貼出我前端代碼片段:
$.ajax({ url: jsonp_login_url, data: data, type: 'POST',// 此處修改成 GET 就沒有問題 dataType: 'jsonp' }).success(function(res)
注意看 我標識出的代碼,
當使用 post 類型時,雖然提交的 dataType 設置成 jsonp 但是在後端 $_GET 是取不到參數的,
按我的理解, jsonp 應該就是 動態創建了一個 script 標籤而已啊,爲什麼會有這個問題呢?
我搜了下一些資料,沒有找到原因在哪? 不過找到了一種新的跨域解決方案: CORS
http://www.360doc.com/content/14/0106/11/15643_343005039.shtml
倒是蠻有意思的一個跨域方案...
有人知道的給我個回覆
我好奇的是 發出 jsonp 請求時正常來說 應該是創建 script標籤 然後get 一個url 地址纔對啊
但是 同域下 jquery 創建script 標籤時卻可以發出 post 請求