Javascript SpringMVC使用DOJO从客户机向控制器发送字符串
我的客户机上有以下代码Javascript SpringMVC使用DOJO从客户机向控制器发送字符串,javascript,jakarta-ee,spring-mvc,dojo,Javascript,Jakarta Ee,Spring Mvc,Dojo,我的客户机上有以下代码 var value = {"userId":form.userId.value}; var xhrArgs = { url : messageUrl, handleAs : "text", content: value, load : displayMessages, error : function(error) { dojo.byId("displayArea").innerHTML = "Error
var value = {"userId":form.userId.value};
var xhrArgs = {
url : messageUrl,
handleAs : "text",
content: value,
load : displayMessages,
error : function(error) {
dojo.byId("displayArea").innerHTML = "Error aquiring messages";
}
};
dojo.xhrGet(xhrArgs);
}
在我的服务器端控制器代码上
@RequestMapping(value = "/getMessages.htm", method = RequestMethod.GET)
public @ResponseBody String showMessageTable(@RequestParam("userId") String userId,ModelMap params)
{
我得到一个400的错误,说
客户端发送的请求语法不正确()
有人能解释一下我做错了什么吗?我已经用firebug测试了dojo代码,该值似乎通过得很好。谢谢 这可能会有帮助。访问此URL:您可能需要检查您的接受标题,它应该是
应用程序/json
@BijuKunjummen即使我移动文本,我也必须这样做吗?这不是针对json对象的吗?哦,好吧,我没有意识到,您已经用@ResponseBody注释了响应,Spring将尝试根据accept头将响应转换为json或xml。只需删除@ResponseBody,它就会根据您从showMessageTable
方法返回的内容来解析视图(比如jsp)。@BijuKunjummen感谢您的回复!ResponseBook注释是我为了测试目的而添加的。即使我没有JSP页面,它也不会给我它。所以我客户端的代码看起来不错?我仍然得到状态400错误。也要注意。当我将dojo发送回的url放在地址栏中时,它会将我带到一个新页面并显示数据。所以我知道MVC正在工作。只是想确认一下,当您发送请求时,DOJO是一个普通的POST还是一个普通的请求参数,而不是json。