php通过json返回数组的长度,php返回json数组

这篇博客介绍了后端如何处理包含中文的JSON数组,并通过函数`arrayRecursive`和`JSON`进行编码。前端部分展示了使用jQuery的$.post进行Ajax请求,接收到JSON数据后进行解析和处理。示例中提到了Ajax异步请求、JSON编码解码以及JavaScript处理JSON数组的方法。
摘要由CSDN通过智能技术生成

1.后端

//处理json数组中文问题

function arrayRecursive(&$array, $function, $apply_to_keys_also = false)

{

static $recursive_counter = 0;

if (++$recursive_counter > 1000) {

die('possible deep recursion attack');

}

foreach ($array as $key => $value) {

if (is_array($value)) {

arrayRecursive($array[$key], $function, $apply_to_keys_also);

} else {

$array[$key] = $function($value);

}

if ($apply_to_keys_also && is_string($key)) {

$new_key = $function($key);

if ($new_key != $key) {

$array[$new_key] = $array[$key];

unset($array[$key]);

}

}

}

$recursive_counter--;

}

//直接返回json数组

function JSON($array) {

arrayRecursive($array, 'urlencode', true);

$json = json_encode($array);

return urldecode($json);

}

//调用

$data = array();

$data['success']="false";

$data['message']="用户名不存在,请重新输入";

echo JSON($data);

2.前端

$.post("ajax.php?mod=member&code=check_user_exist",{username:username},function(data){

var json=$.parseJSON(data);

if(json.success){

alert(json.success);

}else{

alert(json.success);

}

});

ajax返回json数组遍历添加到html

大致需求为类型限制根据类型获取不同结果列表,再根据模糊查询搜索出结果,效果如下:

返回json数组的GET接口

Action() { web_reg_find("Search=Body", "SaveCount=find_cnt", "Text=code\&qu ...

jquery ajax调用返回json格式数据处理

Ajax请求默认的都是异步的 如果想同步 async设置为false就可以(默认是true) var html = $.ajax({ url: "some.php", async: ...

dbda封装类(包括:返回二维数组、Ajax调用返回字符串、Ajax调用返回JSON)

js循环处理后台返回的json数组

Node.js 使用jQuery取得Nodejs http服务端返回的JSON数组示例

server.js代码: // 内置http模块,提供了http服务器和客户端功能(path模块也是内置模块,而mime是附加模块) var http=require("http" ...

Jquery 处理返回的 Json 数组

Jquery 处理返回的 Json 数组

js处理ajax返回的json数组

一.json对象和json数组的区别 jsonObject = {} # json对象 jsonArray=[{},{}] # json数组 二.数据处理 前台接收到后台传过来的json数组实际上是一 ...

当返回值为json字符串时 如何获得其中的json数组

json数据格式 {"IPPORT":"192.168.0.12","time":"2017-04-05 09:12:06&quo ...

随机推荐

Token的管理

代码: RedisCommon using System; using System.Collections.Generic; using System.Linq; using System.Text ...

Linux 命令 - scp: 远程文件拷贝

scp 与普通的文件复制命令 cp 类似,而它们之间最大的差别在于 scp 命令的源或目标文件是远程文件. 命令格式 scp [options] [[user@]host1:]file1 ... [[ ...

uva 10820 (筛法构造欧拉函数)

send a table When participating in programming contests, you sometimes face the following problem: Y ...

Difference between LINQ to SQL and LINQ to Entity(DataContext and DbContext)

http://msdn.microsoft.com/en-us/library/cc161164.aspx http://stackoverflow.com/questions/2443836/wha ...

天翼玩家wifi,鸡肋or神器?

昨天,天一在成都,一个举行4G体验活动.谁是背着一个婴儿每一翼4G MiFi终奌站.市民可进入用户password自由的直接经验wifi互联网. 天翼随身wifi是什么? 这样的4G MiFi就是天翼 ...

再起航,我的学习笔记之JavaScript设计模式13(装饰者模式)

装饰者模式 装饰者模式(Decorator): 在不改变原对象的基础上,通过对其进行过包装拓展(添加属性高或者方法)使原有对象可以满足用户的更复杂需求. 如果现在我们有个需求,需要做一个提交表单,当我 ...

mysql中group by 的用法解析

1. group by的常规用法 group by的常规用法是配合聚合函数,利用分组信息进行统计,常见的是配合max等聚合函数筛选数据后分析,以及配合having进行筛选后过滤. 假设现有数据库表如下 ...

【学习】原生js学习笔记1:添加class和使input为不可用

java暴力递归回溯算法

今天这个问题是我之前一直想解决的,还记得以前第一次上蓝桥杯的课的时候,也就是大一高数期中模拟考试那天,下午去上蓝桥杯课,遇到这道题,当时写了写,根本没有思路,然后就给大一的模拟考试去了.印象深刻啊,一 ...

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以按照以下步骤来实现: 1. 在表格中定义需要存储的数据列,例如: ```html <el-table-column prop="col1"></el-table-column> <el-table-column prop="col2"></el-table-column> <el-table-column label="数组列"> <template slot-scope="scope"> <el-input v-model="scope.row.array[0]"></el-input> <el-input v-model="scope.row.array[1]"></el-input> </template> </el-table-column> ``` 其中,`col1`和`col2`是需要存储的普通列,`array`是需要存储的数组列,它是一个长度为2的数组,可以通过`v-model`双向绑定。 2. 在表格数据中定义数组列的初始值,例如: ```javascript data() { return { tableData: [ { col1: 'data1', col2: 'data2', array: [0, 0] }, { col1: 'data3', col2: 'data4', array: [0, 0] } ] } } ``` 3. 在提交表单时,获取表格数据,并将其传给后台,例如: ```javascript submitForm() { const data = this.tableData.map(item => { return { col1: item.col1, col2: item.col2, array: item.array } }) this.$http.post('/api/save', { data }) .then(res => { console.log(res) }) .catch(err => { console.error(err) }) } ``` 在这里,我们将表格数据中的每一行都转换成一个对象,其中包含`col1`、`col2`和`array`三个属性,并将它们存储在一个数组中。然后,我们使用`$http.post`方法将数据发送给后台进行保存。 4. 在后台接口中,接收传递过来的数据,例如: ```javascript app.post('/api/save', function(req, res) { const data = req.body.data console.log(data) // TODO: 保存数据到数据库 res.send('OK') }) ``` 在这里,我们使用`req.body`获取请求体中的数据,将其保存到`data`变量中,并在控制台中输出。然后,我们可以将数据保存到数据库中。最后,我们使用`res.send`方法向客户端返回`OK`表示保存成功。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值