在ajax使用過程常會遇到各式各樣的問題,今天我跟大家分享ajax中的一些小問題,比較實用,有興趣的朋友可以參考下
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)
上面是我整理給大家的,希望今後會對大家有幫助。
相關文章:
IE8/IE9下Ajax快取問題IE8用ajax存取不能每次都刷新的問題IE8下Ajax快取問題及解決方案以上是探討Ajax中的一些小問題的詳細內容。更多資訊請關注PHP中文網其他相關文章!