$.post()是jQuery中用于向服務器發(fā)送POST請求的方法,它能夠傳入各種類型的數(shù)據(jù),包括json數(shù)據(jù)。
在使用$.post()發(fā)送json數(shù)據(jù)時,需要將數(shù)據(jù)轉換成字符串形式,然后在請求中傳入該字符串。轉換的方式有很多種,可以使用JSON.stringify()方法將json對象轉換為字符串形式,例如:
var data = {name: "John", age: 30};
var jsonString = JSON.stringify(data);
$.post(url, jsonString, function(response){
//處理返回的數(shù)據(jù)
});
在以上代碼中,首先創(chuàng)建了一個包含name和age屬性的json對象data。然后使用JSON.stringify()方法將該對象轉換為字符串形式,存儲在變量jsonString中。最后,將url、jsonString和一個回調函數(shù)傳入$.post()方法中,發(fā)起POST請求。
相應地,服務器端也需要能夠接收json字符串類型的數(shù)據(jù),例如在PHP中可以使用json_decode()方法將json字符串轉換成對象形式:
$jsonString = file_get_contents('php://input');
$data = json_decode($jsonString);
//處理接收到的數(shù)據(jù)
以上代碼中,首先使用file_get_contents()方法讀取POST請求中的字節(jié)流數(shù)據(jù),并存儲在變量$jsonString中。然后使用json_decode()方法將該字符串形式的數(shù)據(jù)轉換為對象形式,并存儲在變量$data中。最后,可以對$data進行處理。
總之,使用$.post()傳入json數(shù)據(jù),需要注意將數(shù)據(jù)轉換為字符串形式,同時服務器端也需要能夠接收和處理該類型的數(shù)據(jù)。