1.ajax跨域傳遞值是所需要的回傳的類型為jsonp
$.ajax({url: "http://.......",type: 'GET',dataType: 'JSONP',//js跨域傳值success: function (data) {}});
dataType
類型:String
預期伺服器返回的資料類型。如果不指定,jQuery 將自動根據 HTTP 包 MIME 資訊來智能判斷,比如 XML MIME 類型就被識別為 XML。在 1.4 中,JSON 就會產生一個 JavaScript 對象,而 script 則會執行這個指令碼。隨後伺服器端返回的資料會根據
這個值解析後,傳遞給回呼函數。可用值:
"xml": 返回 XML 文檔,可用 jQuery 處理。
"html": 返回純文字 HTML 資訊;包含的 script 標籤會在插入 dom 時執行。
"script": 返回純文字 JavaScript 代碼。不會自動緩衝結果。除非設定了 "cache" 參數。注意:在遠程請求時(不在同一個域下),所有 POST 請求都將轉為 GET 請求。(因為將使用 DOM 的 script標籤來載入)
"json": 返回 JSON 資料 。
"jsonp": JSONP 格式。使用 JSONP 形式調用函數時,如 "myurl?callback=?" jQuery 將自動替換 ? 為正確的函數名,以執行回呼函數。
2.ajax的一個demo範例 配合php擷取值
$(function(){var my_data="前台變數";my_data=escape(my_data)+"";//編碼,防止漢字亂碼$.ajax({url: "ajax_php.php",type: "POST",data:{trans_data:my_data},//dataType: "json",error: function(){alert('Error loading XML document');},success: function(data,status){//如果調用php成功alert(unescape(data));//解碼,顯示漢字}});});
php代碼
複製代碼 代碼如下:
$backValue=$_POST['trans_data']; echo $backValue."+後台返回";
3.php的json的資料轉換處理
json_decode ( string $json [, bool $assoc ] ) ; //接受一個 JSON 格式的字串並且把它轉換為 PHP 變數
json_decode($data,true);
json 待解碼的 json string 格式的字串。 assoc 當該參數為 TRUE 時,將返回 array 而非 object 。
json_encode ( mixed $value [, int $options = 0 ] ) 返回 value 值的 JSON 形式
json_encode($a)
以上大概給大家分享了三個ajax小問題,非常常見,希望對大家有所協助!