Ajax跨域問題的解決辦法

對于端口和協議的不同,我們只能通過后臺來解決,我們解決的是域名不同的問題;
我們通過JSONP數據類型來解決跨越的問題;
JSONP有兩部分:回調函數和數據。回調數據就是當響應到來時應該在頁面中調用的函數,數據就是傳入回調函數的json數據
<script type = "text/javascript">
function dosomething(jsondata){
//處理獲取的數據
}
<script>
<script src = "傳入引用的js文件的地址?callblack = dosomething"><script>
第一個script標簽定義一個處理數據的函數
第二個script標簽載入一個js文件;
最后js文件載入成功后會執行我們在url參數中指定的函數,并且會把我們需要的json數據作為參數傳入PHP文件
<?php
$callblack = $_GET['callblack'];//得到回調函數名
$data = array('a','b','c');//要返回的數據
echo $callblack.'('.json_encode($data).')';//輸出
?>

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 使用場景:在需要在本地服務器訪問外部接口并獲取外部接口返回的數據并操作本地數據庫的情況 什么是跨域? 概念:只要協...
    安易學車閱讀 8,444評論 0 1
  • AJAX 原生js操作ajax 1.創建XMLHttpRequest對象 var xhr = new XMLHtt...
    碧玉含香閱讀 3,265評論 0 7
  • 跨域問題產生的原理是指通過js在不同的域之間進行數據傳輸或通信,比如用ajax向一個不同的域請求數據,或者通過js...
    往復隨安_cc75閱讀 525評論 0 1
  • 由于瀏覽器的同源策略保護機制,瀏覽器不能執行來自其他來源的腳本。通過js在不同的域之間進行數據傳輸或通信,比如用a...
    威少_吳閱讀 1,402評論 0 2
  • 第一種:終端生成 一、準備: 1.在終端中輸入:open /usr/bin/codesign 看是否codesig...
    飛魚_T閱讀 4,084評論 0 2