【问题标题】:Cross Origin Domain Blocking in ajax Image Search API (Google)ajax 图像搜索 API (Google) 中的跨域域阻止
【发布时间】:2015-03-17 05:33:46
【问题描述】:

我是 ajax 新手。我尝试使用 ajax get 方法进行 Google 图片搜索(已弃用的 API)。由于某些原因,我的客户更喜欢 Deprecated API 而不是自定义搜索。当我提出请求时,它会说

Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://ajax.googleapis.com/ajax/services/search/images?v=1.0&rsz=8&start=0&imgsz=xlarge,large&q=apple. This can be fixed by moving the resource to the same domain or enabling CORS.

但是当我通过浏览器 url 调用它时,它会以完美的响应响应。

我的 ajax 请求

$.ajax({
        type : "GET",
        url : "https://ajax.googleapis.com/ajax/services/search/images?v=1.0&rsz=8&start=0&imgsz=xlarge,large&q=apple",
        beforeSend : function(xhr) {
            xhr.setRequestHeader('Referer', 'http://www.mydomainexample.com');
        },
        success : function(result) {
            console.log(result) 
        },
        error : function(error) {
            console.log(error) 
        }
    })

请原谅我的任何错误。请帮帮我。

【问题讨论】:

    标签: jquery ajax google-search-api google-image-search


    【解决方案1】:

    啊,CORS。这么多奇怪错误的来源。

    在底层实际发生的是一个预检 OPTIONS 请求,其中包含一个 Origin 标头。此 Origin 是您当前所在的域和协议。服务器返回一组 CORS 标头(Access-Control-Allow-Origin 和 co),然后告诉浏览器是否应该允许它们通过请求。

    如果 Origin 和 CORS 标头不匹配,则会抛出您遇到的错误。在浏览器中没有办法解决这个问题,如果你真的想让它工作,你将不得不代理 API。

    【讨论】:

    • 我可以提供一些教程或其他东西,以实现这一目标。我在这里越界了
    • @Ila 我现在正在上班的路上。当我在合适的设备上时会编辑:-)
    【解决方案2】:

    Cross-Origin Request Blocked 就是这样,这是一个防止从源以外的地方获取源的策略。你实际上是在伪造XMLHttpRequest HTTP Referer Header。有了这个 : xhr.setRequestHeader('Referer', 'http://www.mydomainexample.com'); 并且您不能欺骗引荐来源网址,因为它们是安全模型的重要组成部分。

    至少您正在寻找的是跨域资源共享。

    在这里阅读CORShttp://enable-cors.org/server.html

    【讨论】:

    • xhr.setRequestHeader('Referer', 'mydomainexample.com');这件事对标题没有任何作用,来源和推荐人都很好。我的意思是我很恰当地从我打电话的地方出发。另外,我如何为 Google 启用 CORS(您提供的链接没有帮助)。据我所知,您只能为您的域而不是其他来源启用 CORS。
    猜你喜欢
    • 1970-01-01
    • 2018-12-19
    • 2019-04-17
    • 2017-06-05
    • 2019-04-14
    • 1970-01-01
    • 2019-01-22
    • 2019-11-04
    • 2015-05-05
    相关资源
    最近更新 更多