当前位置:  开发笔记 > 编程语言 > 正文

混合内容jQuery ajax HTTPS请求已在Laravel上被阻止

如何解决《混合内容jQueryajaxHTTPS请求已在Laravel上被阻止》经验,为你挑选了1个好方法。

我认为这个问题对某些人来说很容易,对我来说将成为一个面子.

我有一个Laravel 5.3站点,各种页面都有ajax请求.因为我使用该csrf_field()功能,它们工作正常.

但是有一个页面,其中ajax产生此错误:

Mixed Content: The page at 'https://example.com/fb/reports' was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint 'http://example.com/fb/json?levelType=&id=&aggLevel=ad&start=&end='. This request has been blocked; the content must be served over HTTPS.

我的javascript看起来像这样:

    var relUrl = '/fb/json/';
    var payload = {
        levelType: levelType,
        id: id,
        aggLevel: aggLevel,
        start: start,
        end: end
    };
    console.log(relUrl);
    return $.ajax({
        type: 'GET',
        dataType: 'json',
        data: payload,
        url: relUrl,
        headers: {
            'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
        }            
    });

我已经阅读了大量有关此错误的文章.我已经尝试了大量建议的解决方案,包括将相对URL更改为完整的https URL,或者使用2个斜杠启动它.

我甚至尝试改变我的Laravel路线的工作方式,现在只使用查询字符串参数.

我已经研究了下面的所有文章(以及更多).

此外,由于这一个AJAX查询是一个网站的密码保护部分(和AJAX的查询工作都在网站的公共/开放的部分),我也许想通这是相关的问题.但后来我常常SSH登录到生产服务器并vim暂时删除需要任何身份验证的行,并且仍然会发生https错误.

我可以从这里进一步调试哪些步骤?我可以在Cloudways服务器上"拖尾"哪些日志?

是否有任何Cloudflare可能会干扰(我怀疑,因为其他ajax查询工作,所有都在https上)?

谢谢!

jQuery AJAX请求使用Laravel和Select2将HTTPS提供给HTTP

此请求已被阻止; 内容必须通过HTTPS提供

混合内容问题 - 不安全的XMLHttpRequest端点

由于混合内容问题(http/https),Chrome阻止了XHR响应

强制AJAX调用从HTTPS页面成为HTTPS

当我通过ajax加载https页面时,MixedContent,但浏览器仍然认为它是http

jQuery ajax不会发出HTTPS请求

Laravel 5.1 ajax url参数是url

Ryan.. 10

摘要: 我需要更换var relUrl = '/fb/json/';var relUrl = '/fb/json';(删除尾随斜杠),因为这是我的Laravel什么web.php路线文件的预期.


在Chrome控制台中,我注意到httpsXHR请求被"取消"并被http请求替换.

所以我ssh以前登录到远程生产服务器并vim临时禁用身份验证要求.

然后在Chrome控制台中,我使用带有查询字符串参数的绝对https URL定义并运行了一个新的ajax命令.这工作(没有混合内容错误).然后我尝试了这样的相对URL,它也有效.

即使是没有有效负载或查询字符串参数或尾随斜杠的相对URL也可以工作.

然后我再次添加了尾部斜杠,但它没有用.

我仍然希望有一种更简单的方法来跟踪或调试重定向路径或发生的任何事情.我仍然觉得我笨拙地(多个小时后)偶然发现了答案,而不是知道如何可靠地解剖这个问题.



1> Ryan..:

摘要: 我需要更换var relUrl = '/fb/json/';var relUrl = '/fb/json';(删除尾随斜杠),因为这是我的Laravel什么web.php路线文件的预期.


在Chrome控制台中,我注意到httpsXHR请求被"取消"并被http请求替换.

所以我ssh以前登录到远程生产服务器并vim临时禁用身份验证要求.

然后在Chrome控制台中,我使用带有查询字符串参数的绝对https URL定义并运行了一个新的ajax命令.这工作(没有混合内容错误).然后我尝试了这样的相对URL,它也有效.

即使是没有有效负载或查询字符串参数或尾随斜杠的相对URL也可以工作.

然后我再次添加了尾部斜杠,但它没有用.

我仍然希望有一种更简单的方法来跟踪或调试重定向路径或发生的任何事情.我仍然觉得我笨拙地(多个小时后)偶然发现了答案,而不是知道如何可靠地解剖这个问题.

推荐阅读
mobiledu2402851323
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有