$.post是jquery中一種用于發送POST請求的方法,它的基本語法如下:
$.post( url [, data ] [, success ] [, dataType ] );
其中,url參數是必須的,表示請求URL地址;data參數是可選的,表示要發送的數據,在使用json格式進行傳遞時,需要將數據進行json編碼;success參數是可選的,表示請求成功后的回調函數;dataType參數也是可選的,表示期望返回的數據類型。
如果要傳遞一個json數據到服務器端,就需要使用json編碼將數據轉換為字符串,在發送請求時將字符串作為data參數傳遞給$.post方法,如下所示:
var jsonData = {"name":"張三", "age":25}; $.post(url, JSON.stringify(jsonData), function(result){ //處理請求成功后的操作 }, 'json');
上述代碼中,jsonData表示要傳遞的json數據,使用JSON.stringify方法將其轉換為字符串;success回調函數中的result參數表示服務器返回的json數據,使用'dataType':'json'參數表示請求期望返回的數據類型是json。
在服務器端接收請求時,在php代碼中可以使用json_decode將json字符串轉換為對象,如下所示:
$json_str = file_get_contents('php://input'); $json_obj = json_decode($json_str); $name = $json_obj->name; $age = $json_obj->age;
上述代碼中,使用file_get_contents獲取請求數據,然后使用json_decode將json字符串轉換為對象,最終通過對象獲取傳遞的數據。