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

除了CORS谷歌浏览器扩展程序,还有其他替代方法吗?如何在不使用CORS的情况下成功进行Ajax请求?

奚曦哲
2023-03-14
问题内容

嗨,我建立了Udemy API,该API使用React和axios获取课程。如果Chrome启用了CORS扩展名,则可以正常工作,否则无法获取数据。

我已经问过有关此问题的问题,请花点时间阅读。我已经尝试了在线提供的所有解决方案。


问题答案:

此问题通常与后端服务器有关,但是如果您无权访问服务器,则有两种选择

*使用此chrome扩展程序的 *第一个选项 :Allow-Control-Allow-
Origin,
但是很遗憾,此扩展程序在其他浏览器中不可用,因此您需要使用

*使用在线CORS代理的 *第二种选择

https://cors-anywhere.herokuapp.com/http://example.com

http://cors-
proxy.htmldriven.com/?url=http://www.htmldriven.com/sample.json

对于需要绕过与执行对第三方服务的标准AJAX请求有关的同源策略的开发人员,CORS代理是一项免费服务。

这是使用CORS代理进行Axiox呼叫的示例

const urlProxy = 'https://cors-anywhere.herokuapp.com/http://example.com';
export function post() {
    let users = {
        username: '',
        password: '',
    };
    return axios({
            method:'POST',
            url:urlProxy,
            data: users, // Delete it if you dont have a data
            withCredentials: true, // Delete it if your request doesn't required credentials
            headers: {
                'Accept': 'application/json',
                'Content-Type': 'application/json'
                'Origin': '*',
                'Access-Control-Allow-Headers': '*',
                'Access-Control-Allow-Origin': '*',
            }
        })

            .then(function (response) {
                console.log(response);
            })
            .catch(function (error) {
                console.log(error);
            })
}

我添加了withCredentials()它,使您的浏览器在XHR请求中包含cookie和身份验证标头。如果您的服务依赖于任何cookie(包括会话cookie),则仅在使用此选项集的情况下才能使用。

有一个 Firefox的 扩展,增加了CORS头到3月5日发布的(编译36.0.1),任何HTTP响应在最新的Firefox工作2015年入住此链接

希望这个能对您有所帮助



 类似资料:
  • 我可以创建一个插件或扩展的谷歌Chrome移动(Android谷歌Chrome)? 如果没有,我可以为谷歌Chrome(桌面)创建一个扩展,它将在谷歌Chrome栏中添加一个按钮。此按钮将在另一个web浏览器中打开页面(在我自己的web浏览器中),因此,此按钮应该启动我自己的web浏览器。

  • 刚刚完成Hello World谷歌云功能教程,收到以下响应头:

  • 这是我的归属感。Yaml 为了检查,我使用curl如下所示: 我希望响应包含access-control-allow-*

  • 问题内容: 我正在寻找没有浏览器的Javascript编程。我想从Linux或MacOSX命令行运行脚本,就像我们运行任何其他脚本语言(ruby,PHP,Perl,Python …)一样 我研究了spider monkey(Mozilla)和v8(Google),但它们似乎都是嵌入式的。 是否有人将Javascript作为脚本语言从命令行执行? 如果有人好奇,为什么我期待到这一点,我一直在关注着N

  • 问题内容: 我正在JavaScript中尝试一种更具功能性的样式;因此,我用实用程序功能(例如map和reduce)代替了循环。但是,我没有找到while循环的功能替代品,因为尾调用优化通常不适用于JavaScript。(据我了解,ES6可以防止尾部调用溢出堆栈,但不会优化其性能。) 我在下面解释了我尝试过的方法,但是TLDR是:如果我没有尾部调用优化,那么实现while循环的功能方法是什么? 我

  • 我很难让谷歌字体在Chrome中工作 我正在使用Google的建议链接元素来检索字体(开发工具确认它工作正常)。 Link rel="样式表"href="http://fonts.googleapis.com/css?family=Roboto压缩:400italic" 在CSS文件中,我将所有h2、按钮、选择和输入元素的字体系列设置为“机器人浓缩” 在Google Chrome中,只有字体不显示