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小問題,非常常見,希望對大家有所幫助!