【问题标题】:Dojo xhrPost Content Encrypted Java Controller SpringDojo xhrPost 内容加密 Java 控制器 Spring
【发布时间】:2013-04-24 17:22:27
【问题描述】:

我正在使用 dojo xhrPost。我有一个 JS 对象,我将其转换为 json,然后使用 xhrPost 发送到 Java 控制器。如果我 console.log 内容它是有效的 JSON。 Controller 类方法参数值看起来像是加密的什么的。

(如果有一些语法错误,道歉,我在没有我的IDE的情况下写这个但是帖子到达控制器等,没有控制台错误,并且js文件中生成的json是有效的。问题是: 什么可以修改我的 json 路由到控制器?)

.. 来自我的 js 文件

var formValues = dijit.byId('form').get('value');
var obj = {};
obj.attr1 = formValues.name;
obj.attr2 = formValues.address;

var objJson = dojo.fromJson(obj);
consol.log(objJson);

var xhrPost = {
      handleAs: "json",
      url : urlAddsVariable, 
      content : { objJson: objJson},
      load: function(response){
        console.error(reponse);
      },
      error: function(error){
        console.error(error);
      }
}

console.log >>> {"attr1" : "name", "attr2" = "address value"}

..java 控制器

@RequestMapping("/add.json")
@ResponseBody
public void add(@RequestParam(objJSon) String json) {

// The objJson string has changed.  The attribute names and values are visible but they are wrapped in characters e.g. S%%%%**attr1**DFSS%%%%**name**FSS  etc.
}

任何指针?

谢谢

【问题讨论】:

    标签: java javascript json spring-mvc dojo


    【解决方案1】:

    问题是您发送 json,但该方法使用 POST/request 数据。如果您删除 handleAs:,它将正常工作

    var xhrPost = {
       url : urlAddsVariable, 
       content : { objJson: objJson},
       load: function(response){
         console.error(reponse);
       },
       error: function(error){
         console.error(error);
       }
     }
    

    【讨论】:

    • 感谢您的回复。虽然,dojo.fromJson(obj) 将 js 对象转换为从 console.log 确认的 JSON。我会尝试添加您建议的标题。在没有问题之前我已经进行了这项工作,所以我认为 web.xml 中可能声明了一些编码过滤器。谢谢
    • 我会试一试(明天),尽管我需要为 json 字符串分配一个与控制器中的参数匹配的变量,例如内容:{argName:jsonValue } 和控制器 public void add (@RequestParam(argName) String value)
    • 我根据您的 cmets 更新了答案(并删除了我以前的 cmets,因为它们不再相关)。
    猜你喜欢
    • 2010-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多