我正在向服务器上的端点发送Ajax请求:
Nothing bookSoldOut(boolean sold,
List<Long> books)
throws ErrorResponseException
...我期待参数:sold
和books
在我的ExtJS控制器中,我在一个函数中调用如下:
Ext.Ajax.request({
url: '/book/price/bookSoldOut',
method: 'POST',
params: {
'sold': true,
'books': books,
},
success: function(responseObject) {
}
});
但我收到错误代码 415 - 我做错了什么?
答案 0 :(得分:1)
如果books
是复合类型的(数组/对象等)那么很可能你需要以某种方式序列化数据,否则就是对象的结果toString
被调用,[object object]
将是实际发送到服务器的内容。通常,在这种情况下,您可以使用 JSON 编码数据:
Ext.Ajax.request({
url: '/book/price/bookSoldOut',
method: 'POST',
params: {
sold: true,
books: Ext.encode( books ) // <-- serialise (as string)
// note that some browsers will trip up
// over the trailing comma you had here
},
success: function(responseObject) {
}
});
如果此更改后仍有错误,则服务器端会错误配置某些内容。