0

我正在使用 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.
}

任何指针?

谢谢

4

1 回答 1

0

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

var xhrPost = {
   url : urlAddsVariable, 
   content : { objJson: objJson},
   load: function(response){
     console.error(reponse);
   },
   error: function(error){
     console.error(error);
   }
 }
于 2013-04-24T17:36:43.937 回答