如何在javascript和php中使用ajax通信传递JSON

  介绍

这篇文章给大家介绍如何在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;$ i 如何在javascript和php中使用ajax通信传递JSON