`
noble510520
  • 浏览: 56195 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

正确的前端传后台json方式

 
阅读更多

DEMO:

var data=JSON.stringify({"page": {"pagenow": 1,"pagesize": 20},"file":{"name":"jpg"},"catalogs":[{"id":1},{"id":2}]});
        $.ajax({
            type:"POST",
            url:"//访问的url",
            data:data,
            contentType:"application/json", 
            success:function(data){
                //显示数据
            }
        });

注意:

一、contentType

contentType,可以是application/x-www-form-urlencoded这种默认类型的,不过当后台有struts等框架的话,会在action之前拦截请求,并把request body 里面的值都读出来,导致我们不能再request里面读取到值,只能依赖struts的domain model
所有如果有后台用这种机制的话,那就需要更改contentType:application/json,这样子strust就不会拦截请求了

二、stringify和parseJSON

这两种方法不能乱用,一不小心的话就会导致后台解析不了数据,正确的用法在上面。
stringify是将Json转义,parseJSON是将json去除转义并解析成对象
总结

前端传后台json,应该传字符串过去,不能传Object对象,而且要适当指定contentType

查看原文:
http://139.129.55.235/2016/05/30/%e6%ad%a3%e7%a1%ae%e7%9a%84%e5%89%8d%e7%ab%af%e4%bc%a0%e5%90%8e%e5%8f%b0json%e6%96%b9%e5%bc%8f/

<script type="text/javascript"> $(function () { $('pre.prettyprint code').each(function () { var lines = $(this).text().split('\n').length; var $numbering = $('<ul/>').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($('<li/>').text(i)); }; $numbering.fadeIn(1700); }); }); </script>
分享到:
评论

相关推荐

    json提交到后台并解析

    前端提交的JSON数据可能存在格式错误,后台解析时应捕获并处理这些异常。同时,对数据进行校验以确保其符合业务规则。 总结,JSON提交到后台并解析是Web开发中的常见操作。前端通过JSON.stringify()将数据转换为...

    Ztree后台拼接Json

    这个场景中提到的“Ztree后台拼接Json”主要指的是如何在服务器端(后台)处理并组合JSON数据,以便于ZTree前端组件能够正确渲染出树状结构。这个过程涉及到的数据处理和通信技术是关键知识点。 首先,我们需要了解...

    ajax传输json出错问题

    7. **后端接口问题**:问题也可能出在后端,比如接口没有正确处理JSON数据,或者返回的数据结构与前端预期不符。需要检查后端代码,确保其能正确接收和解析JSON,并返回合法的JSON数据。 8. **异步问题**:Ajax请求...

    AJAXjson分页

    在AJAX分页中,通常会有一个后台接口,这个接口接收前端发送的请求参数,如当前页数、每页显示条数等,然后返回相应的JSON数据。这些数据包含了当前页所需显示的信息。DEMO中的"data"部分就是模拟了这样的后台返回,...

    源支付新版v5.18云端去授权三网本地前端+后台+云端协议2.0

    【源支付新版v5.18云端去授权三网本地前端+后台+云端协议2.0】是一款针对支付系统的更新版本,集成了多种支付方式,包括码支付和免签支付,旨在提供更安全、便捷的支付体验。这个系统分为前端、后端以及云端协议三个...

    后台日期类型转json字符串传到页面

    在开发Web应用时,服务端和客户端之间的数据交换是一个...正确的日期格式化可以提高数据可读性,避免前端解析时的额外工作,提升用户体验。在实际开发中,应该根据项目的具体技术栈和需求来选择最适合的日期转换策略。

    浅析Ajax后台success传来json数据的问题.docx

    总结起来,处理Ajax后台success传来的JSON数据时,关键在于理解`dataType`参数的作用以及服务器返回数据的格式。在不同环境下,可能需要对返回的数据进行适当的转换,才能正确地在前端使用。同时,确保服务器正确地...

    JSON和后台对象互转(.NET版)

    类的属性名应与JSON对象中的键相对应,以便正确地进行序列化和反序列化。 7. 错误处理: 在处理JSON时,需要考虑可能的错误,如无效的JSON格式、类型不匹配等。使用try-catch块捕获可能出现的JsonException或其他...

    Layui数据表格 前后端json数据接收的方法.docx

    通过本篇文章的学习,你可以了解到如何配置前端的数据表格组件以及后端如何响应这些请求并返回正确的JSON数据格式。 #### 二、前端数据表格配置 前端数据表格的配置主要包括两个部分:HTML结构和JavaScript代码。 ...

    json后台管理项目json源码下载.zip

    2. **服务器端解析与处理**:这部分代码负责解析接收到的JSON数据,验证其格式正确性,并根据数据内容执行对应的操作,如数据库查询、更新、插入或删除。 3. **数据库模型**:项目可能使用ORM(对象关系映射)工具...

    PHP实现Ajax方式和后台通过Json交互,认证码方式登录

    总结起来,"PHP实现Ajax方式和后台通过Json交互,认证码方式登录"涉及到的主要知识点有:MVC架构的理解和应用、Ajax技术的使用、JSON数据格式的处理、PHP后端与前端的交互、以及认证码的安全验证。这些都是构建动态...

    后台接口返回json数据所需jar包和配置

    在开发Web应用时,尤其是基于Java的Spring MVC框架,后台接口常常需要返回JSON格式的数据以供前端使用。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,因其易读性、易写性和高效性而被广泛应用。...

    extjs_php向后台提交json_post的接收方法实例

    以下是一个关于如何正确接收ExtJS发送的JSON POST数据的详细实例。 首先,了解ExtJS中的数据提交方式。在ExtJS中,我们可以使用`Ext.Ajax.request`或FormPanel的`submit`方法来发送POST请求。例如: ```javascript...

    小程序源代码(前端+后台)open.zip

    - **前端**:可能有`pages`目录,包含各个页面的WXML、WXSS和JS文件,以及`app.js`、`app.json`、`app.wxss`等全局配置文件。 - **后台**:可能包含`controller`、`model`、`service`等目录,分别对应控制器、模型和...

    $.ajax传JSON数据到后台出现报错问题解决

    总结起来,解决$.ajax传输JSON数据到后台出现的问题,需要关注数据格式、空值处理、前端检查、后台接收方式、错误处理以及数据序列化等环节。通过以上步骤,你应该能更有效地避免和解决问题,确保数据顺畅地在前后端...

    Django和前端用ajax传输json等数据.docx

    这种交互方式使得前端能够动态地与Django后台通信,提高了用户体验,同时也简化了数据交换过程。不过,为了确保安全,应当考虑在生产环境中恢复CSRF保护,或者采用其他安全措施来防止跨站请求伪造(CSRF)攻击。

    ajax 解析json数据

    无论使用哪种方法,都需要确保服务器返回的JSON数据格式正确,否则在解析时会抛出错误。同时,为了兼容旧版本的浏览器,可能需要引入polyfill库,如`whatwg-fetch`和`es6-promise`。 总结,AJAX解析JSON数据主要...

    JSON字符串传到后台PHP处理问题的解决方法

    然而,当这样的JSON字符串传到后台PHP时,可能会遇到问题。因为PHP在某些配置下(`get_magic_quotes_gpc()`设置为`On`)会对输入的数据自动进行转义,导致接收到的字符串变成类似`[\\'a\\':2321,\\'b\\':\\'gsd\\',\...

    jQuery+json+servlet 动态取后台数据

    标题“jQuery+json+servlet 动态取后台数据”揭示了一个常见的Web开发场景,其中前端JavaScript库jQuery被用来从后端服务器(通过servlet)获取动态数据,这些数据以JSON(JavaScript Object Notation)格式传输。...

    jsp中利用jquery+ajax在前后台之间传递json格式参数.docx

    处理完数据后,后台需要将结果以JSON格式返回给前端。在Java中,可以使用诸如`org.json`库或者Gson库来创建JSON对象。例如,使用`JSONArray`或`JSONObject`创建JSON对象,然后通过`response.getWriter().print...

Global site tag (gtag.js) - Google Analytics