jquery ajax怎麼使用jsonp跨域訪問

2022-03-04 08:22:00 字數 736 閱讀 2837

在專案中使用介面的比較多,在客戶端跨域訪問,jquery中只能使用jquery ajax的jsonp方法。

值得注意的是,jquery.ajax()只支援get方式的跨域,post的方式是不支援的。

這種方式其實是上例$.ajax() 的一種高階封裝。

在服務端通過獲得callback引數(如:jsonpcallback)得到jquery端隨後要**的,

然後返回類似:"jsonpcallback("+要返回的json陣列+")";

jquery就會通過**方法動態載入呼叫這個:jsonpcallback(json陣列);

如果為jquery預設,則為隨機jsonp1356493334400之類的資料。這樣就達到了跨域資料交換的目的。

jsonp是一種指令碼注入(script injection)行為,所以也有一定的安全隱患。

注意:jquey是不支援post方式跨域的。

所以一般不建議用jsonp跨域訪問 而是php後台控制下 新增下要訪問的網域名稱 即可不用跨域

//處理跨域

header("access-control-allow-origin:*"); //*號表示所有網域名稱都可以訪問

header("access-control-allow-method:post,get");

獲取可以用用php curl也可以進行跨域訪問

jQuery Ajax使用例項

jquery在非同步提交方面封裝的很好,直接用ajax非常麻煩,jquery大大簡化了我們的操作,不用考慮瀏覽器的差異了。post get是一些簡單的方法,如果要處理複雜的邏輯,還是需要用到jquery.ajax 一 ajax的一般格式12 3456 7 ajax 二 ajax的引數描述 引數 描述...

使用JQuery ajax上傳檔案

src class file input type file id file upload btn uploadbutton function error function xhr,textstatus,errorthrown 注意在ajax須將contenttype和processdata設定為f...

前端學習 JQuery Ajax使用經驗

0.前言 在專案推進過程中常常使用ajax,通過jquery提供的函式能夠很方便的使用ajax,可是在實際使用中也遇到一些問題,比如怎樣防止瀏覽器使用快取,怎樣使用同步方式等。通過博文整理總結希望自身有所提高。在這裡通過乙個加法樣例說明問題.為了突出ajax,前端網頁和後端php程式盡可能的簡單。前...