我有一个简单的 MVC Web 应用程序,其中 javascript 代码向控制器发送 ajax 请求,然后控制器发回响应。
我两年前开发了这个应用程序,一切都运行良好。现在我尝试在本地再次运行该应用程序,但遇到了以下问题:
每当 Ajax 请求从前端发送到控制器(在本地主机上运行)时,本地主机拒绝连接,并且我在(chrome 的)javascript 控制台中收到 ERR_CONNECTION_REFUSED 消息。 (在 Safari 的 javascript-console 中,我收到以下错误消息:“无法加载资源:无法连接到服务器。”)
我正在使用 NetBeans 11.2 运行该应用程序。我的 NetBeans IDE 使用 GlassFish 作为服务器:
我从 NetBeans IDE 中删除了 Glassfish 服务器,删除了其主目录中的文件夹,然后在 NetBeans IDE 中再次添加了 Glassfish 服务器(这还需要下载最新版本的 Glassfish 服务器)。
尽管如此,服务器仍然拒绝接受来自前端的任何请求。
我还尝试使用 Payara Server(版本 5.193)。这也没有什么区别。
顺便说一句,前端本身乍一看看起来不错。也就是说,要去http://localhost:8080/myapp http://localhost:8080/myapp加载应用程序的前端。但是,应用程序的任何动态功能都不起作用,因为服务器拒绝接受来自前端的任何 Ajax 请求(并通过鼠标单击发起)。
我怎样才能解决这个问题?
我想我找到了问题的原因:
在我的 javascript 文件中,我有以下代码行:
var url = "http://localhost:8080/myapp/Controller";
变量“url”被传递给发送到 localhost 的所有 AJAX 请求。
但这里有一个疯狂的事情:AJAX 请求没有发送到“http://localhost:8080/myapp/Controller http://localhost:8080/myapp/Controller“但是到”http://localhost:8081/myapp/Controller http://localhost:8081/myapp/Controller" !!!!!
这到底是怎么回事?!