servlet ajax post( action,使用$.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) 错误

f652fcafb53ac4c2e265e414749260ae.png

后来将$.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包了。

原文:http://www.cnblogs.com/jinghun/p/6669623.html