0 0

传json 参数 后台报错10

报错信息
org.apache.struts2.json.JSONException: Input string is not well formed JSON (invalid char )
org.apache.struts2.json.JSONReader.buildInvalidInputException(JSONReader.java:155)
org.apache.struts2.json.JSONReader.read(JSONReader.java:119)
org.apache.struts2.json.JSONReader.read(JSONReader.java:74)
org.apache.struts2.json.JSONUtil.deserialize(JSONUtil.java:162)
org.apache.struts2.json.JSONUtil.deserialize(JSONUtil.java:188)
org.apache.struts2.json.JSONInterceptor.intercept(JSONInterceptor.java:101)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:249)
org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:54)
org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:510)
org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91)
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)


note The full stack trace of the root cause is available in the Apache Tomcat/6.0.10 logs.





前台js
var jsontext={'user':{'name':'wang'}};
$.ajax( {
type : "POST",

url:'../../security/user1/test',

data:jsontext,
contentType:'application/json',
complete : function() {

},

action

public class UserAction1 {





private User user;

public User getUser() {
return user;
}

public void setUser(User user) {
this.user = user;
}

public String test(){

return "grid";
}

}
struts.xml
<package name="security.user1" extends="json-default"
namespace="/security/user1">

<action name="*" class="userAction1" method="{1}">
<interceptor-ref name="json">
<param name="excludeProperties">
user.name
  </param>
 
</interceptor-ref>
<result name="grid" type="json">
  <param name="includeProperties">  
  grid.*
  </param>  
  </result>
</action>
</package>
2012年5月30日 14:38

5个答案 按时间排序 按投票排序

0 0

建议使用 google gson 来代替 struts的JSON转换

2012年6月07日 12:08
0 0

var jsontext={'user':[{'name':'wang'}]};

楼上的正解,你数据定义错了
或者你这样写

var jsontext={'name':'wang'};

到后台后,生成name的get和set,就可以获取到name了。。。。。。

var jsontext={'user.name':'wang'};
这样的试试

2012年6月06日 22:29
0 0

json定义格式不对,应该是var jsontext={'user':[{'name':'wang'}]};

2012年6月01日 11:05
0 0

应该是这样的var jsontext={'user':[{'name':'wang'}]};

2012年5月30日 16:58
0 0

: Input string is not well formed JSON

不是说json串没有定义好么。。。

{'user':{'name':'wang'}}; 这个和你的user类不匹配吧 user里也没个name属性

二来
<result name="grid" type="json">
  <param name="includeProperties">  
  grid.*
  </param>  
也没一个grid的属性么 只有个没名字的字符串返回。。。

2012年5月30日 14:48

相关推荐

    asp.net Core Post Json方式给控制器Action传参并拦截丢失参数等错误信息

    原生asp.net不支持通过json提交 方式给控制器的Action传参数,本程序通过给自定义输入字符串格式方法。在action的传参上加入FromJsonKey属性即可在传入的json中传入参数,如果传入的json中不存在相应键即报错 ...

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

    在使用jQuery的$.ajax方法向后台传输JSON数据时,可能会遇到一些常见的问题,这些问题往往会导致请求失败或在后台处理时产生错误。以下是一些关键点和解决方案,可以帮助开发者避免或解决这些问题。 首先,$.ajax...

    Spring MVC不能直接接收list类型参数的问题

    当前端使用 jQuery 向后台传递数组类型的参数时,Java 后台尝试直接通过 `List` 类型来接收这些参数,却发现无法取到任何数据。例如: **前端代码示例**: ```javascript $.ajax({ url: "xxxx", data: { areaList...

    C#后台访问url请求结果

    - **pars** (字符串类型):如果请求方式为POST,则此参数表示要发送的数据(通常为JSON格式);如果请求方式为GET,则此参数会被添加到URL后面作为查询字符串的一部分。 - **dataEncode** (编码对象):指定发送数据...

    Http与后台任务(AsyncTask)

    AsyncTask是Android提供的一个轻量级解决方案,它包含三个泛型参数:Params表示执行任务时输入的参数类型,Progress表示在后台处理过程中更新进度的类型,Result表示后台处理完成后返回的结果类型。AsyncTask具有三...

    ajaxfileupload.js 实现jquery ajax异步上传图片

    修复ajaxfileupload.js 不能携带参数问题,修复返回json格式报错问题。轻松搞定异步上传图片问题。

    js字符串日期yyyy-MM-dd转化为date示例代码

    最近遇到一个问题,就是获取表单中的日期往后台通过json方式传的时候,遇到Date.parse(str)函数在ff下报错: NAN 找了些资料,发现是由于Date.parse()函数对日期格式有要求:详细参考 Date.parse函数 对于js操作日期: ...

    AFnetworking

    它可以监控上传和下载进度,支持断点续传,甚至在应用后台也能持续进行。`AFURLSessionManager`的`uploadTaskWithRequest:fromFile:`和`downloadTaskWithRequest:toFile:`方法就是为此设计的。 5. **安全与认证**:...

    fiddler使用教程.docx

    例如,输入正确的用户名和密码,手机上提示:请输入正确的用户名和密码,抓包看请求的参数和响应参数,发现是由于前端参数名错误或者参数值为空,从而导致后台报错。 Fiddler 过滤功能 Fiddler 的过滤功能可以帮助...

    利用ajax动态提示路径

    根据接收到的参数,搜索匹配的路径,然后以JSON格式返回结果。返回的数据包括匹配的路径列表,供前端展示。 客户端收到响应后,通过JavaScript动态修改DOM元素,将路径提示显示在输入框下方或者以下拉列表的形式...

    关于Ajax中通过response在后台传递数据问题

    比如,本文中提到的,一开始直接在后台return一个JSON字符串会报错,这是因为Ajax默认请求是同步的,而直接return一个字符串,没有通过response.getWriter().write()写入响应体,所以前端无法通过异步请求的回调函数...

    OkHttp Utils OkHttpUtils

    对于POST请求,OkHttpUtils提供了多种形式的参数设置方式,如Form表单提交、JSON数据提交等。对于GET请求,可以将参数附加到URL上。同时,还支持自定义RequestBody,满足复杂的数据格式需求。 3. **请求头设置**:...

    在Vue项目中引入腾讯验证码服务的教程

    // 用户验证成功,获取到 ticket,然后你需要将这个 ticket 和之前的 businessId 一起传给后台 // 若后台验证成功,用户就可以收到验证码了,无需你再做其他操作 alert(res.ticket); capDestroy() } else { //...

    全能云解析V3.8源码稳定版

    * 优化播放器调用,现在url参数无需加密调用; * 优化微信插件,修复BUG; 2019.3.19更新 * 修复无法设置默认解析的bug; * 修复视频可能有黑边的的bug; * 修复ckplayer播放器p2p信息设置无效的bug; *ckplayer...

    android-async-http-master.zip

    此外,它还提供了自动处理JSON和XML数据的功能,简化了网络通信中的数据解析工作。 二、导入与使用 导入android-async-http-master到项目中,通常是通过Gradle依赖来实现。在项目的build.gradle文件中添加如下依赖...

    内容管理系统Cms V3.1.3版源码

    正式引入Newtonsoft.Json.dll,使插件可通过json文件共享更多的主站信息 优化了验证码,并增加了位数配置功能 修正了FckEditor无法浏览器上传文件的BUG 修正了视频模块缩略图路径的BUG 增加网站地图功能,有利...

    微信小程序获取用户信息js包,WXBizDataCrypt.js下载

    `decryptData()`方法会使用session_key对encryptedData进行解密,返回解密后的明文JSON字符串,其中包含了用户信息。 例如,解密过程可能如下: ```javascript var WXBizDataCrypt = require('./WXBizDataCrypt');...

Global site tag (gtag.js) - Google Analytics