我有一个表单,我正在向crm(ViciDial)提交(通过这种方式需要的GET)。我可以成功提交表单,但如果我这样做,crm的处理文件将只回显成功文本,仅此而已
我想在我的网站上显示一个感谢页面,而不是该文本,因此我决定使用AJAX提交表单并将其重定向到我需要的页面,但我在浏览器上遇到以下错误:
混合内容:页面位于’https://page.com’已通过HTTPS加载,
但请求了一个不安全的XMLHttpRequest端点
‘http://XX.XXX.XX.XXX/vicidial/non_agent_api.php?queries=query=data’.
此请求已被阻止;内容必须通过HTTPS提供
这是我的AJAX脚本:
<;脚本>;
SubmitFormClickToCall=函数(){
jQuery.ajax({
url:“http://XX.XXX.XX.XX/vicidial/non_agent_api.php",
数据:jQuery(“#表单点击调用”).serialize(),
键入:“获取”,
processData:false,
contentType:false,
成功:功能(数据){
window.location.href=”https://www.example.com/thank-you";
}
});
}
</脚本>;
仅仅在URL中设置https是行不通的,有没有办法让我通过GET提交数据并将用户重定向到我的感谢页面
============================
这里的问题是混合内容,这意味着我通过HTTPS加载了一个页面,并试图通过AJAX访问HTTP中的API。但是浏览器不允许我们这么做
因此,如果您不能将API设置为HTTPS(这是我的情况),我们仍然可以用不同的方法来实现这一点
主要的问题不是混合内容的问题,而是我想将数据提交到API,并将用户重定向到一个奇特的感谢页面。我没有使用AJAX,而是创建了一个接收数据的php文件,并使用curl将其发送到API(因为这是在服务器端完成的,没有混合内容问题),并将我的快乐用户重定向到一个奇特的感谢页面
我通过向HTML页面添加以下代码来解决这个问题,因为我们使用的是第三方API,它不受我们的控制
<;meta http equiv=“内容安全策略”Content=“升级不安全请求”>;
希望这会有所帮助,并记录在案