无'Access-Control-Allow-Origin'标头 - 弹簧引导



当我尝试访问我的 springboot restservice 时,我收到以下错误:

"无法加载 http://localhost:8080/Lerneinheit:对预检请求的响应未通过访问控制检查:请求的资源上不存在'访问控制-允许源'标头。因此,不允许访问源"http://localhost:8081"。响应具有 HTTP 状态代码 403。

我用谷歌搜索了很多,并将其添加到我的 RestController 类中:"@CrossOrigin(origins = "http://localhost:8081"(">

@CrossOrigin(origins = "http://localhost:8081")
@RestController
@RequestMapping("/Lerneinheit")
public class LerneinheitController {
    @Autowired
    LerneinheitRepository lerneinheitRepository;

    @RequestMapping(method=RequestMethod.GET)
    public List<Lerneinheit> getAllLerneinheiten(){
        List<Lerneinheit> lerneinheiten = new ArrayList<Lerneinheit>();
        for(Lerneinheit l : lerneinheitRepository.findAll())
            lerneinheiten.add(l);
        return lerneinheiten;
    }

这是我访问数据的jQuery代码:

var data = {}
    data["query"] = $("#query").val();
    $.ajax({
        type : "POST",
        contentType : "application/json",
        url : "http://localhost:8080/Lerneinheit",
        data : JSON.stringify(data),
        dataType : 'json',
        timeout : 100000,
        success : function(data) {
            console.log("SUCCESS: ", data);
        },
        error : function(e) {
            console.log("ERROR: ", e);
        },
        done : function(e) {
            console.log("DONE");
        }
    });
服务器在端口 8080 上运行

,我的客户端页面在端口 8081 上运行"gulp-live-server":"0.0.31"。

尝试了很多,如果有人能帮助我,那真的很酷。

干杯约翰兰布0r

有多种方法可以解决此跨域请求问题:链接

许多方法之一是在您的情况下使用 JSONP,如下所示:

$.ajax({
    url: http://localhost:8081/Lerneinheit,
    dataType: "jsonp",
    jsonp: "callback",
    success: function( response ) {
        /* fetch the response and do the processing */
        };
    }
});

删除 - @CrossOrigin(origins = "http://localhost:8081")

相关内容

  • 没有找到相关文章

最新更新