CORS,包含用于第三者服务的内联脚本

时间:2019-01-07 15:09:27

标签: reactjs webpack cors create-react-app

我刚从@Configuration @RestController public class TestRestController { static class MyRunnable implements Runnable { DeferredResult<ResponseEntity<String>> deferredResult; MyRunnable(DeferredResult<ResponseEntity<String>> dr) { this.deferredResult = dr; } @Override public void run() { // do your work here and adjust the following // line to set your own result for the caller... this.deferredResult.setResult(ResponseEntity.ok("it worked")); } } @SuppressWarnings("serial") @ResponseStatus(HttpStatus.TOO_MANY_REQUESTS) static class TooManyRequests extends RuntimeException { } private final ExecutorService executorService = new ThreadPoolExecutor(2, 2, 0L, TimeUnit.MILLISECONDS, new SynchronousQueue<Runnable>(), (runnable, executor) -> { ((MyRunnable) runnable).deferredResult.setErrorResult(new TooManyRequests()); }); @GetMapping(value = "/blah", produces = MediaType.APPLICATION_JSON_UTF8_VALUE) public DeferredResult<ResponseEntity<String>> yourRestService() { final DeferredResult<ResponseEntity<String>> deferredResult = new DeferredResult<>(); this.executorService.execute(new MyRunnable(deferredResult)); return deferredResult; } } 退出,并且继续遇到CORS问题。我在create-react-app内尝试了以下方法:

webpack-dev-server

还有快速中间件:

headers: {
  'Access-Control-Allow-Origin': '*',
  'Access-Control-Allow-Methods': 'GET, POST, PUT, DELETE, PATCH, OPTIONS',
  'Access-Control-Allow-Headers': 'X-Requested-With, content-type, Authorization',
  'Access-Control-Allow-Credentials': true
},

这些方法都不起作用,因此我选择通过禁用Web安全性来启动浏览器以进行本地开发。问题似乎是所有API调用都确实获得了适当的before(app, server) { app.use(cors()); // ... } ,但是,引发错误的资源是我们包含在headers中的内联脚本。有什么想法吗?

浏览器错误:

index.html

0 个答案:

没有答案