gpt4 book ai didi

javascript - jQuery.get 无法在 github 站点上使用 https(甚至请求同一域)

转载 作者:行者123 更新时间:2023-12-02 15:20:31 25 4
gpt4 key购买 nike

我已经看过 this其他答案,但就我而言,我正在执行一个简单的 jQuery.get 请求,并且也在我的同一域上:

//Now, lets pull the data for panels
var maxi = $('#mainpanel .panel[id]').length;
var count = 0;
var processed = [];
$('#mainpanel .panel[id]').each(function(index) {
var id = $(this).attr('id');
var turl = '/kb/resources/' + id;
console.log('pulling data for resource',id,turl);
$.get(turl , function(data){
console.log('success');
var dummy = document.createElement("data");
window.dummy = dummy;
$(dummy).append(data);
var title = $(dummy).find('h1').text();
var header = document.createElement("div");
var panelBody = document.createElement("div");
var ul = document.createElement("ul");
console.log('dbg 1');

$(header).addClass('text-center panel-heading');
$(header).append('<h4><a href="' + turl + '">' + title + '</a></h4>');
$(panelBody).addClass('panel-body panel-res-summary');
$(panelBody).append(ul);
console.log('dbg 2');

$('#' + id).append($(header));
$('#' + id).append($(panelBody));
$(dummy).find('.container.default li').each(function(index){
var item = $(this).find('a:first');
var cls='';
if (item.hasClass('imp')) cls='class="imp"'; // mark
if ($(panelBody).height() >= 200) return;
$(ul).append('<li><a ' + cls + ' href="' + item.attr('href') + '">' + item.text() + '</a></li>');
});
console.log('dbg 3');

$(panelBody).append('<a class="small pull-right" href="' + turl + '"><em><u>more...</u></em></a>');
processed.push(id);
count += 1;
console.log('processed');
if (count>=maxi) { //(count%3==0)
msel = '#' + processed[count-1];
msel += ' #' + processed[count-2];
msel += ' #' + processed[count-3];
adjustBoxes(); //Now, lets adjust the heights of all panels
console.log('now called adjustBoxes');
}
});

上面的代码在本地主机上运行良好,即使在 HTTP 中也是如此。网站的版本,但无法检索 HTTPS 中的内容网站的版本。由于我向同一域发出请求,为什么它没有返回任何内容?

编辑

正如评论中提到的,我使用接受的答案 here 解决了这个问题。 。在网址末尾添加反斜杠可以解决该问题,但问题仍然存在。这似乎是托管 github-pages 的服务器出现的故障。

编辑2

正如 @jcaron 正确指出的那样,问题肯定出在我的网址上。它正在提供 jekyll 生成的静态页面,最后需要 / 。由于我的代码缺少该内容,gh-pages 返回 301 重定向并拒绝第二个请求。但是,如果 gh-pages 可以正确重定向到我的 ajax 请求,那么我的问题一开始就不会出现。简而言之,gh-pages 末尾的故障仍然存在!

最佳答案

此问题的出现是由于两个综合问题造成的:

  • 您的网址(例如 http://www.prahladyeri.com/kb/resources/php )不是实际的“好”网址,它需要重定向才能添加最终的 / .

  • 服务器错误地重定向到 http而不是https版本。

因此,您的代码发出请求,收到 301,尝试向 http 发出第二个请求URL,然后被拒绝。

两种可能的解决方案:

  • 正确包含最后的 /

  • 修复服务器以正确重定向到适当的协议(protocol)

关于javascript - jQuery.get 无法在 github 站点上使用 https(甚至请求同一域),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34128933/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com