使用js陣列來完成json物件的封裝:
var arrX={resitems:[]}; arrX.bookid=bookid; for (var i=0; i < cellList.length; i++) { var item=cellList[i]; var jsonRes={}; jsonRes.bookid=bookid; jsonRes.res_id=item.itemStruct.id; jsonRes.res_name=item.itemStruct.name; jsonRes.src_origin=item.itemStruct.src; jsonRes.src_hd=item.itemStruct.src_hd; jsonRes.src_sd=item.itemStruct.src_sd; jsonRes.src_td=item.itemStruct.src_td; arrX.resitems.push(jsonRes); }; var jsonResStr=JSON.stringify(arrX);
上面的程式碼是先建立arrX的json物件,對物件新增各種屬性、變數等。最後通過stringify轉化為字串,這個獲得的字串jsonResStr就是一個普通字串了,可以通過ajax傳遞到伺服器了。
值得注意的是,這裡如果有中文,那是沒問題的,不會出現亂碼問題。在完成了JOSN封裝之後,開始使用ajax傳遞到PHP頁面。
$.ajax({ type:"POST", url:"SQLHelper.php", dataType:"json", async:false, data:{'jsonResPanel':jsonResStr}, success:function(json){} });
其中type的型別可以是GET和POST,url是伺服器處理的指令碼程式。dataType型別有text,json,xml等等,async通常使用false,data是具體要傳遞的json字串,並且給伺服器post一個叫做json欄位的資料,PHP端可以$_POST['json']就可以獲取post過來的資料。如果需要接收返回資料。
以上就是js怎麼通過ajax給php傳送資料的詳細內容,更多請關注TW511.COM其它相關文章!