gpt4 book ai didi

java - Websocket 连接上出现“Access-Control-Allow-Origin”错误

转载 作者:行者123 更新时间:2023-12-01 22:40:43 24 4
gpt4 key购买 nike

我正在尝试从不同的域连接到我的 websocket。服务器位于 localhost:8098 上,客户端位于 localhost:8080 上。每次我尝试连接时都会收到“Access-Control-Allow-Origin”错误,我还添加了 .setAllowedOrigins("*")

不确定缺少什么。

服务器

@Configuration
@EnableWebSocketMessageBroker
public class webSocketObjects implements WebSocketMessageBrokerConfigurer {

@Override
public void configureMessageBroker(MessageBrokerRegistry config) {
config.enableSimpleBroker("/topic");
config.setApplicationDestinationPrefixes("/app");

}

@Override
public void registerStompEndpoints(StompEndpointRegistry registry) {
registry.addEndpoint("/ws/Object").setAllowedOrigins("*").withSockJS();


}

客户端

<script>
let stompClient=null;
import Stomp from 'stompjs';
import SockJS from 'sockjs-client'
export default {
name: "modal",
props: ['node'],
data() {
return{
bacnetObject: '',
status: "disconnected"


}
},
mounted() {
this.bacnetObject = this.node;
},
methods: {
connect: function(){
const socket = new SockJS('http://localhost:8098/ws/Object');
stompClient = Stomp.over(socket);
stompClient.connect({
}, function (frame) {
console.log('Connected: ' + frame);
stompClient.subscribe('/topic/user', console.log(String.body))

})
},
disconnect: function () {
stompClient.disconnect();
}
}
}
</script>

我收到错误:

访问位于“http://localhost:8098/ws/Object/info?t=1571728150435”的 XMLHttpRequest '来自原点'http://localhost:8080 ' 已被 CORS 策略阻止:请求的资源上不存在“Access-Control-Allow-Origin” header 。

最佳答案

如果您使用凭据,根据 MDN 上的文档,* 将不起作用。尝试指定主机。

For requests without credentials, the literal value "*" can be specified, as a wildcard; the value tells browsers to allow requesting code from any origin to access the resource. Attempting to use the wildcard with credentials will result in an error.

https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Origin

另一方面,有时根据您的情况,您可能需要处理这些 header

Access-Control-Allow-Methods: POST, GET, OPTIONS
Access-Control-Allow-Headers: header1, header2 ...

https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS#Preflighted_requests

关于java - Websocket 连接上出现“Access-Control-Allow-Origin”错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58498987/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com