ajax获取PHP传递的JSON字符串
来源:互联网 发布:如何设置数据库子符集 编辑:程序博客网 时间:2024/06/05 04:32
直接上代码,分为两部分:bar.php和bar.html.
bar.html中通过ajax获取bar.php返回的JSON字符串
bar.php
…………………..
<?$a=rand(100,200);$b=rand(100,200);$c=rand(100,200);$d=rand(100,200);$e=rand(100,200);$str=<<<STR "province":"北京市","population":$a| // 没有大括号方便同事拼接。。|是为了方便我之后切割字符串 "province":"天津市","population":$b| "province":"河北省","population":$c| "province":"山西省","population":$dSTR;$str = json_encode($str); // 对字符串进行JSON格式的编码echo $str;?>
bar.html
……………………………….
$.ajax({ type: "get", dataType: "json", // 返回值类型为dataType url: "../bar.php", success: function (data) { console.log("获取到的数据为 " + data); var data1 = data.split("|"); console.log("分割|得到 " + data1); var arr = new Array(); for (var i = 0; i< data1.length ;i++) { var data = "{" + data1[i] + "}"; var json_str = JSON.parse(data); // 将JSON格式的字符串转化为JSON对象 arr.push(json_str); } console.log("该得到的数组为 " + arr); shu(arr); // 调用的方法 }});
下面是我第一次做时写的ajax代码——php中没有对字符串进行编码那一步
$.ajax({ type:"get", dataType:"html", url:"../bar.php", success:function (data) { console.log("传进来的数据 " + data); var data2 = data.split("|"); // 用|分割 console.log("data2 " + data2 ); console.log(data2.length); var arr_final = new Array(); for (var i = 0; i< data2.length ; i++ ) { var data_h = data2[i].split(","); // 用,分割 console.log("data_h " + data_h.length + " " + data_h); for (var g = 0; g<2 ;g++ ) { var data_g = data_h[g].split(":"); //用:分割 console.log("data_g " + data_g.length + " " + data_g); for(var p = 0; p<2;p++){ var data_q = data_g[p]; if(data_q != null){ console.log("data_q " + " " + data_q); console.log("\"的下标位置 " + data_q.indexOf("\"")); if (data_q.indexOf("\"") > -1){ arr_final.push(data_q.substring(data_q.indexOf("\"") + 1, data_q.length -1)); }else{ arr_final.push(data_q); } } } } } console.log(arr_final); var atr_final = new Array();// for (var a = 0; a < arr_final.length; a ++){ var n = arr_final.length / 4 ; console.log("组数 " + n); var c = 0; while (c < n){ var str_f = "{\"" + arr_final[c*4] + "\":\"" + arr_final[c*4 + 1] + "\",\"" + arr_final[c*4 + 2] + "\":" + arr_final[c*4 + 3] + "}"; c++; var json_str = JSON.parse(str_f);// str_f = str_f.substring(1, str_f.length - 1); atr_final.push(json_str); }// } console.log("得到的数组" + atr_final + jQuery.type(atr_final)); change(atr_final); console.log(atr_final[0]); // $("#hid").val(data); }});
由于在php中没有对字符串进行编码,也就是传递过来的值是{北京:一线,人口:112121}这种,而我们需要的JSON格式的字符串是{“北京”:”一线”,“人口”:112121}这种,所以要各种切割获取,遍历然后加上引号。
阅读全文
0 0
- ajax获取PHP传递的JSON字符串
- ajax传递json字符串写法
- PHP+Ajax处理JSON字符串
- jquery ajax传递的data参数中带json多维数组字符串
- 59-002-1 前台如何获取ajax传递过来的json数据.
- 简单的ajax获取json
- ajax获取json的值
- struts,ajax之间的json传递
- struts,ajax之间的json传递
- Controller取得ajax传递的json
- Ajax中传递Json格式的参数
- Ajax 传递json字符串到客户端时报 Internal server error
- Ajax传递Json数据
- ajax 传递JSON.stringify()
- Ajax传递json数据
- 网络间json字符串传递的技巧
- java获取前台传递的json数据
- strues获取ajax请求传递的参数
- 跳台阶
- 【Python异常】UnboundLocalError: local variable 'xxxx' referenced before assignment
- Common lisp之加载方式
- 设计模式之工厂模式(一)
- Android 百分比布局库(percent-support-lib) 解析与扩展
- ajax获取PHP传递的JSON字符串
- 关于Tip of the Day
- 学以致用——ikb知识库英文词条词频分析-Part3-使用Excel制作高频词标签云(VBA)
- css_day01_对文本的设置
- Leetcode 261. Graph Valid Tree
- Python基础02 基本数据类型
- Linux 安装 luarocks(lua的模块管理工具)
- JMS规范
- bingo-培训——软件工程(套路)