我有一个简单的MVC web应用程序,其中javascript代码向控制器发送ajax请求,控制器发送回响应。
我两年前开发了这款应用程序,过去一切都很好。现在,我尝试在本地再次运行该应用程序,遇到了以下问题:每当从前端发送Ajax请求到控制器(运行在本地主机上)时,本地主机拒绝连接,我在(chrome's) javascript-控制台中得到一条ERR_CONNECTION_REFUSED消息。(在Safari的javascript-console中,我得到了以下错误消息:“未能加载资源:无法连接到服务器。”)
我正在使用NetBeans 11.2运行这个应用程序。我的NetBeans IDE使用GlassFish作为服务器:
我从NetBeans IDE中删除了Glassfish服务器,删除了它在主目录中的文件夹,然后在我的NetBeans IDE中再次添加了Glassfish服务器(这还需要下载Glassfish服务器的最新版本)。
但是,服务器拒绝接受来自前端的任何请求。
我还尝试使用Payara (版本5.193)。这也没什么区别。
顺便说一下,前部本身看上去还不错。也就是说,去http://localhost:8080/myapp加载应用程序的前端。但是,应用程序的任何动态特性都无法工作,因为服务器拒绝接受来自前端的任何Ajax请求(并通过鼠标单击启动)。
我怎么才能解决这个问题?
我想我找到了问题的原因:
在我的javascript-文件中,我有以下代码行:
var url = "http://localhost:8080/myapp/Controller";
变量"url“传递给发送到localhost的所有AJAX请求。但最疯狂的是: AJAX请求不是发送到"http://localhost:8080/myapp/Controller“,而是发送到"http://localhost:8081/myapp/Controller”!
这到底是怎么回事?!
发布于 2020-02-17 09:04:49
之前是否使用端口8081,然后将变量"url“更改为新端口8080?在这种情况下,变量可能仍然被设置为缓存中的旧值。重新启动计算机,看看这是否解决了问题。
发布于 2020-02-15 19:23:10
如果属性http-listener
的值为localhost
,它将拒绝连接外部连接。
可以使用命令使用它的值进行验证。
asadmin> get server-config.network-config.network-listeners.network-listener.http-listener-1.*
应返回类似于以下内容的资料:
server.http-service.http-listener.http-listener-1.acceptor-threads = 1
server.http-service.http-listener.http-listener-1.address = 0.0.0.0
server.http-service.http-listener.http-listener-1.blocking-enabled = false
server.http-service.http-listener.http-listener-1.default-virtual-server = server
server.http-service.http-listener.http-listener-1.enabled = true
server.http-service.http-listener.http-listener-1.external-port =
server.http-service.http-listener.http-listener-1.family = inet
server.http-service.http-listener.http-listener-1.id = http-listener-1
server.http-service.http-listener.http-listener-1.port = 8080
server.http-service.http-listener.http-listener-1.redirect-port =
server.http-service.http-listener.http-listener-1.security-enabled = false
server.http-service.http-listener.http-listener-1.server-name =
server.http-service.http-listener.http-listener-1.xpowered-by = true
使用set子命令修改属性。
此示例将http-listener-1的address
属性设置为0.0.0.0
。
asadmin> set server.http-service.http-listener.http-listener-1.address = 0.0.0.0
参考资料:
https://docs.oracle.com/cd/E19798-01/821-1751/ablaq/index.html
https://stackoverflow.com/questions/60158617
复制相似问题