Javascript jquery load()https http

Javascript jquery load()https http,javascript,jquery,Javascript,Jquery,我在使用jQuery加载函数从另一个页面获取元素时遇到问题。我只能将客户端脚本添加到页面A,并尝试从页面B获取无法编辑的元素 我在A页上有以下代码: $('#playerNumber').load('https://letsplay.pkr.com/en/ div.players.roundContainerBorderNone h2'); 页面A在https协议上运行。页面B同时在http和https上运行 我最初的问题是,我试图从B页获取元素。由于协议冲突,代码无法工作,但是我将协议更改为

我在使用jQuery加载函数从另一个页面获取元素时遇到问题。我只能将客户端脚本添加到页面A,并尝试从页面B获取无法编辑的元素

我在A页上有以下代码:

$('#playerNumber').load('https://letsplay.pkr.com/en/ div.players.roundContainerBorderNone h2');
页面A在https协议上运行。页面B同时在http和https上运行

我最初的问题是,我试图从B页获取元素。由于协议冲突,代码无法工作,但是我将协议更改为https,这主要解决了问题

唯一的例外是当我试图在Chrome中使用匿名窗口查看页面时。由于某种原因,代码无法运行。有人能向我解释一下为什么会这样,以及这是否是一个值得关注的问题?这个问题有解决办法吗

非常感谢

--补充意见---------------------------

经过进一步调查,B页不支持https。这是否意味着这个问题无法解决

请试试这个

$.support.cors = true;
$.ajax({
    type: 'GET',
    dataType: "text",
    crossDomain: true,
    url: "http://letsplay.pkr.com/en/ div.players.roundContainerBorderNone h2",
    success: function (responseData, textStatus, jqXHR) {
        var _data = JSON.parse(
            responseData.replace(
                '{"AuthenticateUserResult":"', ''
            ).replace('}"}', '}')
        );
        $('#playerNumber').html(_data);
    },
    error: function (responseData, textStatus, errorThrown) {
        alert('POST failed.');
    }
});

问题似乎是跨域访问。您可以从url中省略该方案,默认情况下浏览器采用当前页面正在使用的方案

请尝试以下方法:

$('#playerNumber').load('letsplay.pkr.com/en/ div.players.roundContainerBorderNone h2');

您在控制台中出现了什么错误?我可以想象您被。您需要使用服务器端代理。有关更多信息,请查看控制台。如果您看到与CORS头相关的错误,那么这肯定是问题所在。可能的重复可能是跨域问题。感谢所有人如此快速地响应。控制台中显示的错误如下-混合内容:处的页面通过HTTPS加载,但请求了不安全的XMLHttpRequest端点。此请求已被阻止;内容必须通过HTTPS提供。这次我尝试发送ajax调用,而不是jquery.load Hi Raja。谢谢你一直以来的帮助。不幸的是,我仍然看到这个问题。这一次出现了一个稍微不同的错误-混合内容:上的页面是通过HTTPS加载的,但请求了一个不安全的XMLHttpRequest端点。此请求已被阻止;内容必须通过HTTPS提供。恐怕还是不走运。如果我通过http查看页面,我会收到“POST failed”警报,并看到控制台错误“加载资源失败:服务器响应状态为404 Not Found”。当我通过https查看时,我看不到任何警报,并收到控制台错误“混合内容”:处的页面是通过https加载的,但请求了不安全的XMLHttpRequest端点。此请求已被阻止;内容必须通过HTTPS提供。我应该指出,我是通过第三方应用程序优化添加代码的,因为我们正在为客户机执行a/B测试。不确定这是否有关系?恐怕这件事也没什么好运气。控制台错误与之前相同,因为您更新了问题,页面B不支持https,浏览器不支持进行跨域调用。请看一下这个[问题]