今天算是把js跨域請求搞定了,想實現跨越,首先想到的是JSONP,但是具體去做的時候,發現有很多坑。在本地測試好之后又發現目標網站做了https證書認證,也就是實用的jsonp請求地址必須是https請求方式。。。無語。。繼續實現https(后續會另開一篇關於lnmp下搭建https並自動續簽證書的文章),廢話不多說,下面是JSONP AJAX實現跨域請求。
js部分
$.ajax({ type:"get", //請求方式 async:true, //是否異步 url:"https://url", dataType:"jsonp", //跨域json請求一定是jsonp jsonp: "callbackparam", //跨域請求的參數名,默認是callback //jsonpCallback:"successCallback", //自定義跨域參數值,回調函數名也是一樣,默認為jQuery自動生成的字符串 data:{"id":getQueryString('data')}, //請求參數 beforeSend: function() { //請求前的處理 }, success: function(data) { console.log(data) //請求成功處理,和本地回調完全一樣 }, complete: function() { //請求完成的處理 }, error: function() { //請求出錯處理 }
php服務端
echo $_GET['callbackparam']."(".$Data.")";