javascript - 无法在 jquery 中获取 Ajax CORS 请求

标签 javascript jquery cors

一周前我已经让这段代码正常工作,但突然它停止工作了。我认为 bing 的 api 没有发生任何变化,我检查了我的帐户,仍然有大量搜索剩余。我什至在 fiddler 中模仿了这个确切的请求并且它有效。这是我的代码:

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 “*”标题。我用谷歌搜索但找不到微软关于此更改的任何信息。我通过将 http 请求移动到我的服务器来解决这个问题。

关于javascript - 无法在 jquery 中获取 Ajax CORS 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19820929/

相关文章:

javascript - Intellij IDEA 状态,AJAX 请求中的成功函数从未使用过。

Chrome 新版本 73.0.3683.75 的 Ajax 调用错误?

apache - 尽管有适当的许可,跨源图像加载仍被拒绝

javascript - Nodejs进程无异常崩溃

javascript - jQuery:尝试通过 ID 字符串检索对象

javascript - 如何为for循环中除最后一项之外的每一项添加分隔符

jquery 函数不起作用

javascript - CORS HTTP header 点

javascript - 在 Titanium Appcelerator 中创建元素并使用 Loop 添加事件监听器

javascript - 如何将值添加到map函数内部的对象中?