介绍
这篇文章给大家介绍如何在javascript和php中使用ajax通信传递JSON,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
{ ,“bookid":“558 a6be36c72a",,, ,“resitems":, {才能 ,才能“res_id":,“558 a6bff6bd55" ,才能“res_name":,“IMG_8421.jpg" ,才能“src_origin":,“558 a6bff6bd55.jpg" ,才能“src_hd":,“558 a6bff6bd55_hd_1920_1280.jpg" ,才能“src_sd":,“558 a6bff6bd55_sd_1024_682.jpg" ,才能“src_td":,“558 a6bff6bd55_td_300_200.jpg" ,,}, {才能 ,才能“res_id":,“558 a6c4a716a2" ,才能“res_name":,“IMG_8477.jpg" ,才能“src_origin":,“558 a6c4a716a2.jpg" ,才能“src_hd":,“558 a6c4a716a2_hd_1920_1280.jpg" ,才能“src_sd":,“558 a6c4a716a2_sd_1024_682.jpg" ,才能“src_td":,“558 a6c4a716a2_td_300_200.jpg" ,,} ,) , }
<>强ajax: 强>
首先要熟悉ajax的用法,它是连接浏览器和服务器的桥梁。
<强>一般用法如下:强>
. ajax({美元 类型:才能“POST", url:才能“SQLHelper.php", 数据类型:才能& # 39;json # 39; 异步:假的,才能 数据:才能{& # 39;json # 39;: jsonStr} });才能
其中类型的类型可以是GET和POST、url是服务器处理的脚本程序.dataType类型有文本、json、xml等等,异步通常使用假的,数据是具体要传递的json字符串,并且给服务器后一个叫做json字段的数据,PHP端可以$ _POST [& # 39; json # 39;)就可以获取后过来的数据。如果需要接收返回数据,
, var 要求=,$ . ajax ({ 类型:才能“POST", url:才能“SQLHelper.php", 数据类型:才能& # 39;json # 39; 异步:假的,才能 数据:才能{& # 39;json # 39;: jsonStr} ,,}); var 反应=req.responseText;
上面使用ajax实现了一次普通的客户端到服务器的一次数据传递。下面的问题是怎么去获得上面的jsonStr呢?像开篇提及的那种json字符串怎么才能生成的问题附:如果遇到含有中文的url如下操作:
位置=encodeURI (& # 39; content_p.html ? id=& # 39; + catalogid + & # 39;和title=& # 39; + bookTitle + & # 39;,拇指=& # 39;+ bookThumb);
<强> JavaScript→PHP: 强>
<强>使用js数组来完成json对象的封装:强>
var arrX={resitems: []}; arrX.bookid才能=bookid; for 才能;(var i=0,小姐:& lt;, cellList.length;,我+ +),{ ,,var 项=cellList[我]; ,,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对象,对对象添加各种属性,变量等。最后通函数过把转化为字符串,这个获得的字符串jsonResStr就是一个普通字符串了,可以通过ajax传递到服务器了,值得注意的是,这里如果有中文,那是没问题的,不会出现乱码问题。在完成了JOSN封装之后,开始使用ajax传递到PHP页面
,, . ajax({美元 ,,类型:“POST", ,,url:“SQLHelper.php" ,,数据类型:“json" ,,异步:假的, ,,数据:{& # 39;jsonResPanel& # 39;: jsonResStr}, ,才能成功:函数(json) {} });才能
<强> php对接收到json的数据解析并且写入到数据库:强>
if (收取($ _POST [& # 39; jsonResPanel& # 39;])), { 美元才能data=https://www.yisu.com/zixun/$ _POST [' jsonResPanel ']; arr=美元(数组)(json_decode(元数据)); (项目=(数组)美元arr [' resitems ']); bookid=arr美元(“bookid”); $ sql=" "; ($ i=0;$ iexecute_dml美元sqlDelete); $ sqli -> multi_execute_dml ($ sql); $ sqli -> close_connect (); null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null 如何在javascript和php中使用ajax通信传递JSON