强制 AJAX 调用从 HTTPS 页面为 HTTPS

Forcing AJAX call to be HTTPS from HTTPS Page

本文关键字:HTTPS AJAX 调用 强制      更新时间:2023-09-26

当前从HTTPS jsp进行AJAX调用,以从另一个jsp页面调用数据。但是,我们遇到了混合内容问题:

混合内容:"https://etc/"页面是通过 HTTPS 加载的,但 请求不安全的 XMLHttpRequest 端点 "http://etc/path/to/other/page.jsp"。此请求已被阻止; 内容必须通过 HTTPS 提供。

如何强制 AJAX 调用通过 HTTPS 调用?

AJAX 调用如下所示:

var url = "/path/to/other/page.jsp";
$.ajax({                                                            
    type: "POST",
    url: url,
    data: {data: data},
    dataType: "html",
    timeout: 4000, 
    success: function(html) {
        /* Code on Success */
        }
    },
    error: function(request, status, error) {
         /* Code on Failure
    }   
});

我可以理解我是否试图从HTTPS调用HTTP,但我不想这样做。我想强制它使用 HTTPS 调用 JSP,这样我就可以避免混合内容问题。

提前谢谢你!

/*编辑*/

有趣的是,我在变量 URL 中输入了一个绝对路径:

var url = "https://etc/path/to/other/page.jsp";

我遇到了同样的问题。有什么东西在强制这个 AJAX 调用是 HTTP?

尝试使用其他扩展名或使用带有 .htaccess 等的文件夹,如下所示

var url = "https://etc/path/to/other/page/";