zoukankan      html  css  js  c++  java
  • ajax数据请求传一个数组对象类型的值不成功的理解!

    遇到这个问题的时候也找了好多网络资源,网上大多说的是传数组有两种方式:一是拼接字符串;二是请求是使用传统模式traditional:true

    引自(https://blog.csdn.net/CrazyLai1996/article/details/76165971)(https://blog.csdn.net/u011734144/article/details/53836906/

    大多数是采用第二种方式的答案,但是对于我的请求采用此方法没有解决。

    最后通过415报错找到contentTypeapplication/x-www-form-urlencoded不允许;

    最后通过查找资料了解到:

    contentType 主要设置你发送给服务器的格式,dataType设置你收到服务器数据的格式。

    ##而contentType默认格式就是application/x-www-form-urlencoded

    这种格式的特点就是,name/value 成为一组,每组之间用 & 联接,而 namevalue 则是使用 = 连接。这种传递只能是简单的键值对格式传递,也就是简单的不带嵌套的json格式;但是复杂情况下,要传一个复杂的json格式数组嵌套对象,对象中包含数组或者对象嵌套数组,数组中包含对象等,application/x-www-form-urlencoded是没有办法将复杂的json组织成键值对形式的。{ a: 1, b: 2, c: 3 }

    ##contentTypeapplication/json;这种类型是text,我们ajax的复杂json数据用 JSON.stringify序列化后,然后发送,在服务器端接到然后用 JSON.parse 进行还原就行了,这样就能处理复杂的对象了。

    { data: { a: [{ x: 2 }] } }

  • 相关阅读:
    redis使用基础(一) ——Redis基本概述与安装配置
    Linux学习闲谈(三) ——SVN用法及切版本与合版本
    Linux学习闲谈(二) ——SVN版本控制拾遗
    Linux学习闲谈(一)——Shell基本操作与命令
    linux1
    git命令
    ubuntu
    laradock
    实用工具
    grumphp在docker里问题
  • 原文地址:https://www.cnblogs.com/wangpengfei8313/p/9298311.html
Copyright © 2011-2022 走看看