Rya*_*yan 3 javascript jquery xmlhttprequest laravel cloudways
我认为这个问题对某些人来说很容易,对我来说将成为一个面子.
我有一个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.
Run Code Online (Sandbox Code Playgroud)
我的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')
}
});
Run Code Online (Sandbox Code Playgroud)
我已经阅读了大量有关此错误的文章.我已经尝试了大量建议的解决方案,包括将相对URL更改为完整的https URL,或者使用2个斜杠启动它.
我甚至尝试改变我的Laravel路线的工作方式,现在只使用查询字符串参数.
我已经研究了下面的所有文章(以及更多).
此外,由于这一个AJAX查询是一个网站的密码保护部分(和AJAX的查询工作都在网站的公共/开放的部分),我也许想通这是相关的问题.但后来我常常SSH登录到生产服务器并vim暂时删除需要任何身份验证的行,并且仍然会发生https错误.
我可以从这里进一步调试哪些步骤?我可以在Cloudways服务器上"拖尾"哪些日志?
是否有任何Cloudflare可能会干扰(我怀疑,因为其他ajax查询工作,所有都在https上)?
谢谢!
Rya*_*yan 10
摘要:
我需要更换var relUrl = '/fb/json/';与var relUrl = '/fb/json';(删除尾随斜杠),因为这是我的Laravel什么web.php路线文件的预期.
在Chrome控制台中,我注意到httpsXHR请求被"取消"并被http请求替换.
所以我ssh以前登录到远程生产服务器并vim临时禁用身份验证要求.
然后在Chrome控制台中,我使用带有查询字符串参数的绝对https URL定义并运行了一个新的ajax命令.这工作(没有混合内容错误).然后我尝试了这样的相对URL,它也有效.
即使是没有有效负载或查询字符串参数或尾随斜杠的相对URL也可以工作.
然后我再次添加了尾部斜杠,但它没有用.
我仍然希望有一种更简单的方法来跟踪或调试重定向路径或发生的任何事情.我仍然觉得我笨拙地(多个小时后)偶然发现了答案,而不是知道如何可靠地解剖这个问题.
| 归档时间: |
|
| 查看次数: |
8903 次 |
| 最近记录: |