【问题标题】:Extjs4 / Spring MVC and response.responseTextExtjs4 / Spring MVC 和 response.responseText
【发布时间】:2014-02-12 14:19:26
【问题描述】:

在 extjs4 控制器中我调用

 form.submit({
                url: '/bookstore/api/books/add',
                waitMsg: 'Uploading your file...',
                success: this.onAddBookSuccess,
                failure: function(response, opts){
                   var  data = Ext.decode(response.responseText);
                    Ext.MessageBox.alert('Error', 'Some problem occurred' + data);
                }
            });

我的“/bookstore/api/books/add”的spring mvc控制器代码

@RequestMapping(value = "/api/books/add", method = RequestMethod.POST)
public
@ResponseBody
Map<String, ? extends Object> addUser(BookUploadBean bean, BindingResult result) {

Map<String, Object> data = new HashMap<String, Object>();

if (bean.getTitle().compareTo("1") == 0) {
    data.put("success", Boolean.FALSE);
    data.put("errors", "asdasdasd");
    return data;
}

Book book = new Book();
book.setTitle(bean.getTitle());
book.setAuthor(bean.getAuthor());
book.setYear(bean.getYear());
book.setPrice(bean.getPrice());
book.setDescription(bean.getDescription());
book = userRepository.save(book);

data.put("success", Boolean.TRUE);
return data;
}

我从 '/bookstore/api/books/add' 得到 2 个 json 响应变体:

  1. 错误 json : {"errors":"asdasdasd","success":false}
  2. 成功 json {"success":true}
    而且服务器确实返回了这个值

但如果我尝试获取 response.responseText,我会得到未定义的值。如何在我的失败函数中获取“错误”值?

【问题讨论】:

    标签: json spring extjs extjs4


    【解决方案1】:

    当你提交一个表单时,你得到的响应仍然被解码为回调第二个参数的属性“结果”。

    所以在你的例子中:

    form.submit({
        url: '/bookstore/api/books/add',
        waitMsg: 'Uploading your file...',
        success: this.onAddBookSuccess,
        failure: function(form, action){
            Ext.MessageBox.alert('Error', 'Some problem occurred' + action.result.errors);
        }
    });
    

    希望有帮助:)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-08
      • 1970-01-01
      • 2011-08-27
      • 2013-02-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多