这是我的带有ajax请求的.html页面
<script type="text/javascript" src="http://code.jquery.com/jquery-1.7.1.min.js"></script>
<script src="http://code.jquery.com/mobile/1.4.2/jquery.mobile-1.4.2.min.js"></script>
<script type="text/javascript">
var a_id;
if (location.search) {
a_id = location.search.substring(1);
document.write(a_id);
}
$.ajax({
type:'GET',
url: "http://192.168.1.5:8080/SurveyApp3/getSingleAgent?a_id="+a_id,
dataType: 'json',
success:function(data, status){
console.log(data);
},
error:function(xhr, status, errorThrown){
console.log(xhr);
console.log(status);
console.log(errorThrown);
}
});
</script>
这是我的Spring MVC控制器方法
@RequestMapping(value= "/getSingleAgent", method= RequestMethod.GET)
public String getSingleAgents(@RequestParam("a_id") long a_id){
List<Agents> agent= SpringController.getInstance().getSingleAgent(a_id);
JSONObject json= new JSONObject(agent.get(0));
System.out.println(json);
return json.toString();
}
调用ajax请求,并在该document.write(a_id)之前正确打印该值。同样,成功调用了控制器,控制器方法中的所有代码都执行其必须执行的方式,并且System.out.println(json); 还打印所需的数据。
我的问题在这里与ajax请求。Ajax调用error:function而不是调用success:function,并且在日志中发生以下错误。
08-04 20:39:05.191: D/CordovaLog(32740): [object Object]
08-04 20:39:05.191: I/chromium(32740): [INFO:CONSOLE(36)] "[object Object]", source: file:///android_asset/www/updateAgentForm.html?9999999999 (36)
08-04 20:39:05.191: D/CordovaLog(32740): error
08-04 20:39:05.191: I/chromium(32740): [INFO:CONSOLE(37)] "error", source: file:///android_asset/www/updateAgentForm.html?9999999999 (37)
08-04 20:39:05.201: D/CordovaLog(32740): Not Found
08-04 20:39:05.201: I/chromium(32740): [INFO:CONSOLE(38)] "Not Found", source: file:///android_asset/www/updateAgentForm.html?9999999999 (38)
我要去哪里错了?问题出在我所相信的ajax。提前致谢!
最有可能是在渲染视图(检查日志)时出现在Spring MVC中。由于您的方法返回String,因此Spring希望它是要呈现的视图的名称。如果要返回Json,建议您返回POJO列表和带有@ResponseBody的匿名方法,如注释中建议的sp00m
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句