我正在工作的一个项目与SpringbootReactJS和MongoDB。我已经实现了整个代码,但它没有从数据库导入数据。它显示了以下错误。
访问位于“”的XMLHttpRequesthttp://localhost:8080/api/auth/file“起源”http://localhost:8081'已被CORS策略阻止:请求的资源上不存在'Access Control Allow Origin'标头。
我通过StackOverflow找到了解决方案,并尝试了以下方法来解决这个问题,
但还是不行。
如果有人能帮我解决这个问题,我会很高兴。
控制器
package com.spring.mongodb.controllers;
import com.spring.mongodb.models.LogFile;
import com.spring.mongodb.models.LogRecord;
import com.spring.mongodb.models.LogRecordCollection;
import com.spring.mongodb.payload.request.BackupRequest;
import com.spring.mongodb.payload.request.DeleteFileRequest;
import com.spring.mongodb.repository.LogFileRepository;
import com.spring.mongodb.repository.LogRecordRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.util.List;
@RestController
@CrossOrigin(origins = "http://localhost:8081")
@RequestMapping("/api/auth/file")
public class LogFileController {
@Autowired
LogFileRepository logFileRepository;
@Autowired private LogRecordRepository logRecordRepository;
@GetMapping("")
public ResponseEntity<?> getAllLogFiles() {
try{
List<LogFile> logFiles = logFileRepository.findAll();
return ResponseEntity.ok().body(logFiles);
}catch (Exception e){
return ResponseEntity.status(HttpStatus.EXPECTATION_FAILED).body(e.getMessage());
}
}
@DeleteMapping
public void deleteFiles(@Valid @RequestBody DeleteFileRequest request) {
List<String> recordIds = request.getRecordIds();
for (String recordId : recordIds) {
logFileRepository.deleteById(recordId);
LogRecordCollection collection = new LogRecordCollection();
collection.setCollectionName(recordId);
logRecordRepository.deleteAll();
}
}
}
从前端发送请求
await axios
.get("http://localhost:8080/api/auth/file")
.then((res) => {
console.log(res);
this.setState({
folders: res.data,
});
})
.catch(function (error) {
console.log(error);
});
this.setState({
loading: true
})
您可以尝试添加超文本传输协议组件依赖关系,然后在控制器类中给出交叉原点值,您必须提到交叉原点中的一个链接,从那里您的RESTful api将被调用
依赖关系
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<scope>test</scope>
</dependency>`
如下所示,您可以在控制器中添加交叉原点值
@CrossOrigin(origins = "http://localhost:8081")
我使用从使用API的ReactJS发送数据,我得到一个错误: 以下是错误: CORS策略已阻止从来源“http://localhost/2019/EURDU/user_controllers/userregistercontroller/userregistration”访问位于“http://localhost:3000”的XMLHttpRequest:飞行前响应中的access-control
我正在使用以下版本 null CORS策略阻止了从原点获取的访问:请求的资源上没有'Access->Control-Allow-Origin'标头。如果一个不透明的响应满足您的需要,请将请求的模式设置为“no-cors”,以便在禁用CORS的情况下获取资源。 我不明白为什么我会得到这个错误。 以下是从Google Chrome开发者工具中提取的相关请求和响应细节 推荐人策略:严格的-原产地-当-跨
错误:我在Firefox中得到以下内容:外国站点查询被阻止:同源策略不允许读取远程资源http:// localhost:8080 / api / v1 / post /。(原因:“访问控制-允许-源”CORS 标头不存在) 我已经花了几个小时允许CORS与我的Spring Boot服务器通信,以使我的REACT UI与服务器通信。关于堆栈溢出,有许多措辞类似的问题,但建议的解决方案中没有一个解决
我试图通过angular以表单形式发布信息,但出现以下错误: 访问位于“”的XMLHttpRequesthttp://localhost:8000/api/register“起源”http://localhost:4200'已被CORS策略阻止:'Access Control Allow Origin'标头包含多个值'*,*',但只允许一个值。登记组成部分ts:43 HttpErrorRespon
在“中”访问XMLHttpRequesthttp://localhost:3000/socket.io/?EIO=3 服务器端 客户端 我正在尝试让站点“*”与本地主机通信。我尝试使用了< br > < code > app . use(CORS({ credentials:true,origin:' * ')); 但是什么都没有。
我有一个。NET核心应用程序,它有一个REST API被一个角客户机使用,但遇到了CORS问题。 但仍在客户端(运行在本地端口4200上)中获取错误: CORS策略阻止从来源“HTTP://localhost:4200”访问位于“HTTP://localhost/myapi/api/table”的XMLHttpRequest:对飞行前请求的响应没有通过访问控制检查:它没有HTTP ok状态。