$.post是jQuery中很常用的一種請求方式,它可以實現(xiàn)向服務(wù)器發(fā)送POST請求并處理響應(yīng)數(shù)據(jù)。在發(fā)送請求時,我們可以使用JSON來傳遞數(shù)據(jù)。下面我們來介紹一下如何制定JSON數(shù)據(jù)。
$.post(url, {key1: value1, key2: value2}, function(data){ // 回調(diào)函數(shù) });
上面的代碼中,第二個參數(shù)就是我們所謂的JSON數(shù)據(jù)。其中key1和key2是屬性名稱,value1和value2是屬性值。我們可以根據(jù)需求添加更多屬性,比如:
$.post(url, {title: '文章標(biāo)題', content: '文章內(nèi)容', author: '作者名字'}, function(data){ // 回調(diào)函數(shù) });
在實際開發(fā)中,有時候需要把JSON數(shù)據(jù)存儲到變量中,再傳遞到$.post中。這個時候,我們就需要使用JSON.stringify方法將JSON對象轉(zhuǎn)換為字符串類型。
var post_data = {title: '文章標(biāo)題', content: '文章內(nèi)容', author: '作者名字'}; var data_str = JSON.stringify(post_data); $.post(url, data_str, function(data){ // 回調(diào)函數(shù) });
上面的代碼中,data_str就是轉(zhuǎn)換后的JSON字符串,我們可以直接將其傳遞給$.post方法。
需要注意的是,JSON的屬性名稱和屬性值都需要使用雙引號包裹起來。
var post_data = {"title": "文章標(biāo)題", "content": "文章內(nèi)容", "author": "作者名字"}; var data_str = JSON.stringify(post_data); $.post(url, data_str, function(data){ // 回調(diào)函數(shù) });
使用JSON作為$.post請求的數(shù)據(jù)傳遞方式可以很方便地將數(shù)據(jù)格式化傳輸,而且不需要考慮數(shù)據(jù)類型的問題,非常靈活和方便。