使用$.post和action或servlet交互 URL出现 http://localhost:8080/../[object%20Object] 错误的问题解决
使用$.post时,如下所示:
$.post({
url : "./test/ajaxTest",
});
控制台报:There is no Action mapped for namespace [/] and action name [[object Object]] associated with context path [/项目名]. - [unknown location] 错误
在网页上调试时出现:http://localhost:8080/项目名/[object%20Object] 404 (Not Found) 错误
后来将$.post改为使用$.ajax,并且设置type:post,如下所示:
$.ajax({
type : "post",
url : "./test/ajaxTest",
});
错误解决。
后来想想是不是jQuery版本的问题,将jquery-1.4.js改为jquery-3.1.1.js,并且还是用$.post方法,发现没有错误。
综上所述:
出现标题中的问题的原因:
1、jquery包版本太低
解决方法:
1、将$.post改为使用$.ajax
2、使用较高的jquery包版本
建议:当不确定地址是否写对时,又出现了如题错误,首先改为使用$.ajax查看是否地址写错,若有错,则改之。若地址无误,则使用$.ajax应该是成功的。如果仍想使用$.post,那么只能使用较高版本的jquery包了。