jQuery   发布时间:2022-04-19  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了jquery – Access-Control-Allow-Origin不允许使用Origin但是定义了通配符?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在开发一个项目(前端),它将与另一个域中的另一个(API)进行通信.

现在,我正在本地工作,具有以下配置:

>前端:http://127.0.0.1:9000
> API:http://127.0.0.1:9100

在我的API程序中,我定义了一个OPTIONS请求,它返回这些标头以及http状态代码200:

Access-Control-Allow-Headers:accept,origin,x-requested-with,content-type
Access-Control-Allow-Methods:GET,POST,PUT,deletE,OPTIONS
Access-Control-Allow-Origin:*
Access-Control-Max-Age:15
Content-Length:0

使用jQuery,我向这个url发出Ajax请求.例如,这是OPTIONS查询request标头:

Accept:*/*
Accept-Charset:ISO-8859-1,utf-8;q=0.7,*;q=0.3
Accept-Encoding:gzip,deflate,sdch
Accept-Language:fr-FR,fr;q=0.8,en-US;q=0.6,en;q=0.4
Access-Control-request-Headers:accept,content-type
Access-Control-request-Method:POST
Connection:keep-alive
Host:127.0.0.1:9100
Origin:http://127.0.0.1:9000
Referer:http://127.0.0.1:9000/login
User-Agent:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.31 (KHTML,like Gecko) Chrome/26.0.1410.63 Safari/537.31

这取决于成功(状态代码:200 OK),然后按预期对http://127.0.0.1:9100/auth/login进行POST,但我在网络面板中得到了这个:

如果我查看控制台,我收到此错误

但是,正如我们所看到的,Access-Control-Allow-Origin被定义为“*”.我还尝试将其更改为“127.0.0.1:9000”和“http://127.0.0.1:9000”,控制台上出现相同的错误.

现在,关于我的jQuery ajax命令的一些细节. ajax本身很简单:

jQuery.ajax({
    'url': '/auth/login','type': 'POST','data': {'login': 'abc','password': 'def'},'timeout': 15000
}).done(function (data,status,xhr) {
    console.log ('ok');
}).fail(function (xhr,description) {
    console.error('oups');
});

但是,通过jQuery.ajaxPrefilter方法添加API的基本URL:

jQuery.ajaxPrefilter (function (options) {
    var url = document.createElement('a');
    url.href = optionS.Url;
    optionS.Url = 'http://127.0.0.1:9000' + url.pathname;
});

这是为了避免在URL更改时更改多个文件.
我不知道这是否是问题的根源,但到目前为止我无法使POST请求工作,即使有关CORS配置的一切似乎都没问题.

我做错了什么 ?

解决方法

好的答案其实很简单,但你需要知道.

Headers不仅可以在OPTIONS请求中使用,而且可以在所有请求上使用(甚至是GET / POST / PUT / deletE请求).

这就是为什么它不适合我.

大佬总结

以上是大佬教程为你收集整理的jquery – Access-Control-Allow-Origin不允许使用Origin但是定义了通配符?全部内容,希望文章能够帮你解决jquery – Access-Control-Allow-Origin不允许使用Origin但是定义了通配符?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。