jQuery中ajax傳送伺服器的data問題

2021-04-14 02:33:17 字數 671 閱讀 2546

前天在使用jquery作練習時發現的,$.ajax(properties)其中傳遞引數data的問題.根據文件說是:(object|string) data - 要傳送到伺服器的資料。如果還不是乙個字串,就自動輪換為乙個查詢字串。即附加到get請求的url後面的字串.但是我給data賦值乙個json物件資料,然而,它不能轉換成"查詢字串".

類似原始碼:

# 客戶端js部分  

var json_data = ;  

$.ajax(  

});  

#伺服器端  

<?php  

#除錯過程  

print_r( $_post );  

?>  

在除錯過程中發現,伺服器端獲取$_post就是乙個空陣列,由此說明json_data在post時並沒有轉換成字串.當然,如果在此使用$.post(url, params, callback)其中,params指定為json_data,則完全正常.

於是,我檢視了下jquery.js中$.ajax()和$.post()的定義,發現$.post()過程,對params進行jquery.param(data)加工(json轉換成字串的過程).所以,問題由此解決了,如果想在$.ajax中的data使用json物件,只要先jquery.param(data)下,就萬事ok了!^_^

jQuery中ajax傳送伺服器的data問題

前天在使用jquery作練習時發現的,ajax properties 其中傳遞引數data的問題.根據文件說是 object string data 要傳送到伺服器的資料。如果還不是乙個字串,就自動輪換為乙個查詢字串。即附加到get請求的url後面的字串.但是我給data賦值乙個json物件資料,然...

jQuery傳送Ajax請求

ajax cache false,async true,type post datatype json xml html success function result ajax cache false,async false,type post datatype json xml html suc...

jQuery傳送Ajax請求

ajax cache false,async true,type post datatype json xml html success function result ajax cache false,async false,type post datatype json xml html suc...