我正在从javascript Ajax调用中调用Controller方法。当我在以下代码中使用localhost(仅对dev很好)时,它将调用Controller方法,但是如果我使用IP地址(当代码托管在其他Linux盒中时需要IP)代替localhost,则不会调用该方法。
此代码可以正常工作,我可以在浏览器的“网络”标签中看到通话:
var tmpUrl = "https://localhost:<port>/method1?param1=" + value1 + "¶m2="+value2;
$('#serviceBinding').load(tmpUrl);
但是当我使用IP地址代替本地主机时,没有调用控制器方法。
var tmpUrl = "https://xx.xxx.xxx.xx:<port>/method1?param1=" + value1 + "¶m2="+value2;
$('#serviceBinding').load(tmpUrl);
下面是弹簧控制器中的方法。
@GetMapping("/method1")
@CrossOrigin(origins = "*", allowedHeaders = "*")
public String method1(...
我在浏览器中没有看到与CORS相关的任何错误,但在浏览器的“检查”部分中看到了以下错误
GET <full URL> net::ERR_TIMED_OUT
我认为您无法访问IP地址,您的IP地址没有HTTPS证书或端口不正确。
[尝试使用ping或tracert命令将IP地址ping到CLI中,以检查是否可以访问该IP地址。
还可以在浏览器中打开完整的URL吗?