当前位置: 首页 > 面试题库 >

Ajax跨域请求被阻止:“相同源策略”不允许读取远程资源

锺离霖
2023-03-14
问题内容

我正在编写一个简单的网站,该网站以一个成语作为输入,并从牛津词典返回其含义和示例。这是我的主意:

我向以下网址发送了请求:

http://www.oxfordlearnersdictionaries.com/search/english/direct/?q=[idiom]

例如,如果习惯用法是“不走远”,我将请求发送至:

http://www.oxfordlearnersdictionaries.com/search/english/direct/?q=not+go+far

然后将我重定向到以下页面:

http://www.oxfordlearnersdictionaries.com/definition/english/far_1#far_1__192

在此页面上,我可以提取成语的含义和示例。这是我的测试代码。它将提醒响应URL:

<input id="idiom" type="text" name="" value="" placeholder="Enter your idiom here">
<br>
<button id="submit" type="">Submit</button>
<script type="text/javascript">
$(document).ready(function(){
    $("#submit").bind('click',function(){
        var idiom=$("#idiom").val();
        $.ajax({
            type: "GET",
            url: 'http://www.oxfordlearnersdictionaries.com/search/english/direct/',
            data:{q:idiom},
            async:true,
            crossDomain:true,
            success: function(data, status, xhr) {
                alert(xhr.getResponseHeader('Location'));
            }
        });

    });
});
</script>

问题是我有一个错误:

跨域请求被阻止:“同源起源”策略不允许读取http://www.oxfordlearnersdictionaries.com/search/english/direct/?q=by+far​​上的远程资源。可以通过将资源移到同一域或启用CORS来解决此问题。

有人可以告诉我如何解决吗?另一种方法也很好


问题答案:

您的网站是否也在oxfordlearnersdictionaries.com域上?还是您尝试拨打网域且使用相同的原始政策阻止了您?

除非您有权通过oxfordlearnersdictionaries.com域上的CORS设置标头,否则您可能需要寻找另一种方法。



 类似资料:
  • 问题内容: 我正在网站上使用,最近我的用户在接收邮件时遇到了这个问题。在FireBug中检查后,我意识到脚本失败是由于CORS保护(由于以下错误)所致。 跨域请求被阻止:“同源起源”策略不允许读取http://x3.chatforyoursite.com/subscribe/上的远程资源 。可以通过将资源移到同一域或启用CORS来解决此问题。 现在,我想知道应该在哪里启用CORS,因为在我自己的服

  • 问题内容: 这是我的代码: 这适用于GET请求而不是POST! 我将Apache用作服务器,并使用以下命令对其进行了配置: 在我的angularjs中,我包含在模块应用程序的配置中: 但是请求POST仍然无法正常工作! 我希望有人能提出任何想法。 问题答案: 在服务器端添加这些标头: 如果仍然无法正常工作,请发布浏览器正在发送的预检请求的详细信息。 为什么要这样做? 如果不是简单的请求(例如,表单

  • 我正在开发一个JavaFX应用程序,它主要是一个美化的网页。它是一个桌面应用程序(它没有嵌入到网页中),并且它的主UI有一个Web View。应用程序本身的唯一目的是使用Bluecove访问蓝牙设备,因为这无法直接使用Web浏览器上的JavaScript。 概念验证工作正常(我能够从Java调用JavaScript代码,反之亦然),但我有一个额外的要求,即从JavaScript中调用任意Web服务

  • 问题内容: 当人们开始订购过程时,在我的网站https://www.stubwire.com上,我正在从https://files.stubwire.com加载CSS文件。问题是CSS文件正在尝试加载给出错误的字体。有人可以帮我展示如何解决此问题吗?我已经看到有关使用Amazon S3的修复程序,但这是从我们自己的服务器加载的。 错误 跨域资源共享策略已阻止从源“ https://files.st