【发布时间】:2015-11-19 13:49:51
【问题描述】:
我在从 jquery ajax 提交 json 数据时遇到一些问题。我用谷歌搜索了一些类似的问题,但没有一个对我有用。
$.ajax({
type : "POST",
contentType : "application/json",
url : "save-routes",
data : JSON.stringify(routeObject),
dataType : 'json',
timeout : 100000,
success : function(status) {
console.log("SUCCESS ADDING ROUTE DATA");
return status;
},
error : function(e) {
console.log("ERROR WHILE ADDING ROUTE DATA");
return false;
},
done : function(e) {
console.log("DONE");
//return true;
}
});
routeObejct Json 格式:
{name:"value", data:["value1","value2"...]}
弹簧控制器:
@JsonView(Views.Public.class)
@RequestMapping(value = "/save-routes", method = RequestMethod.POST)
public @ResponseBody boolean loadRoutes(@RequestBody Route route) {
//codes
return status;
}
我不断收到此错误:
POST http://localhost:8181/SYBusWebApp/save-route 400 Bad Request 6ms
路线等级:
public class Route {
@JsonView(Views.Public.class)
private String name;
@JsonView(Views.Public.class)
private ArrayList<stop> routeStops;
private String updatedRouteName;
private ArrayList<String> addedRouteStopNames;
//getters and setters
}
停止类:
public class Stop {
@JsonView(Views.Public.class)
private String name;
@JsonView(Views.Public.class)
private float latitude;
@JsonView(Views.Public.class)
private float longitude;
private String updatedName;
//getters and setters
}
【问题讨论】:
-
你的 Route 对象是什么样子的?
-
控制台日志输出会更容易指出您的错误。在 ajax URL 参数中使用
/save-routes。同时发布您的路线课程。 -
@Jeroen / 幸运,我已经添加了路由类。
-
JSON 负载
JSON.stringify(routeObject)和类Route之间一定存在一些属性不匹配。请验证 -
那么
{name:"value", data:["value1","value2"...]}是如何映射到您的 Route 对象的...?我在您的 Route 对象中看不到 data 属性
标签: javascript json ajax spring