繁体   English   中英

无法在jquery中获取Ajax CORS请求

[英]Cannot get Ajax CORS request in jquery to work

一周前我已经有了这个确切的代码,突然间它停止了工作。 我认为bing的api没有任何改变,我检查了我的帐户,仍然有很多搜索。 我甚至在提琴手中模仿这个确切的要求而且它有效。 这是我的代码:

function queryBing(query, start, callback) {
            var requestStr = "https://api.datamarket.azure.com/Data.ashx/Bing/Search/v1/Image?Query=%27" + query + "%27&$top=50&$format=json&ImageFilters=%27Size%3aMedium%27&Adult=%27Moderate%27";
            console.log(requestStr);
            console.log(accountKeyEncoded);
            jQuery.support.cors = true;
            $.ajax({
                url: requestStr,
                beforeSend: function (xhr) {
                    xhr.setRequestHeader('Authorization', 'Basic ' + accountKeyEncoded);
                },
                context: this,
                dataType: "json",
                type: 'GET',
                error: function(e){
                    e.Message;
                },
                success: callback
            });
        }

并返回以下错误:

OPTIONS https://api.datamarket.azure.com/Data.ashx/Bing/Search/v1/Image?Query=%27te…$top=50&$format=json&ImageFilters=%27Size%3aMedium%27&Adult=%27Moderate%27 Origin http://localhost:81 is not allowed by Access-Control-Allow-Origin. jquery.js:8706
XMLHttpRequest cannot load https://api.datamarket.azure.com/Data.ashx/Bing/Search/v1/Image?Query=%27te…$top=50&$format=json&ImageFilters=%27Size%3aMedium%27&Adult=%27Moderate%27. Origin http://localhost:81 is not allowed by Access-Control-Allow-Origin. 

我一周前能够从我的本地计算机和我的网站查询。 我尝试查看我的帐户设置,我无法在Bing的任何地方找到我要添加我的域名。

我在两天前开始遇到同样的问题 - 据我所知,微软在11月4日当天的Bing图像搜索响应中关闭了CORS支持。他们不再返回“Access-Control-Allow-Origin”标题“ *”。 我用Google搜索但无法从微软那里找到有关此更改的任何信息。 我通过将http请求移动到我的服务器来解决这个问题。

Azure Marketplace团队刚刚推出了针对此问题的修复程序。 OPTIONS请求现在应该再次正确启用Ajax CORS请求。 如果有人的代码在11月之前有效,但仍然坏了,请在这个帖子中告诉我们,以便我们帮助您解决问题!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM