为什么js二维数组传给后台接收到的数据变成了字符串

问题:前端传给后台的数据是[["aa","2",3],["bb","3",4]]二维数组,
PHP后台收到的却是字符串

let arr = [["ll", 4], ["bb", 3]];

let uid = sessionStorage.getItem('uid');
this.$refs[formName].validate((valid) => {
    if (valid) {
        var params = new URLSearchParams();
        params.append('is_iso', '1');
        params.append('uid', uid);
        params.append('order',arr);
        this.$axios({
            method: 'post',
            url:httpUrl.add_investment_project,
            data:params,
        }).then((res)=>{
            console.log(res.data);
            if(res.data.errCode==0){
            
            }else if(res.data.errCode==1){
                this.$message.error(res.data.retData.msg);
            }else if(res.data.errCode==2){
                this.$router.push('/login');
            }
        });
    } else {
        this.$message.error('error submit!!');
        return false;
    }
});
阅读 5.3k
3 个回答

PHP支持数据中的数据是多类型的吗?

新手上路,请多包涵

先看一下param发送前的格式,没问题的话,就是后台接收的问题了。

正常来说你发的所有东西都是字符串,只不过大部分框架接收的时候会进行一些处理,方便后续工作。

所以这种情况最好让后台检查一下,是不是框架配置问题。如果没有使用框架的话,就自己 json_decode 一下咯。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题