我有一个表单,我正在向 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 脚本:
<script>
SubmitFormClickToCall = function(){
jQuery.ajax({
url: "http://XX.XXX.XX.XX/vicidial/non_agent_api.php",
data : jQuery("#form-click-to-call").serialize(),
type : "GET",
processData: false,
contentType: false,
success: function(data){
window.location.href = "https://www.example.com/thank-you";
}
});
}
</script>
仅在 URL 中设置 https 不起作用,有什么方法可以通过 GET 提交数据并将用户重定向到我的感谢页面?
============================
这里的问题是混合内容,这意味着我通过 HTTPS 加载了一个页面,并试图通过 AJAX 访问 HTTP 中的 API。但是浏览器不允许我们这样做。
因此,如果您不能将 API 设置为 HTTPS(这是我的情况),我们仍然可以以不同的方式处理此问题。
主要问题不是混合内容问题,而是我想将数据提交到 API 并将用户重定向到一个漂亮的感谢页面。我没有使用 AJAX,而是制作了一个接收数据的 php 文件,使用 curl 将其发送到 API(因为这是在服务器端完成的,没有混合内容问题)并将我的快乐用户重定向到一个漂亮的感谢页面。