当前位置: 首页 > 知识库问答 >
问题:

播放框架错误:多维JSON不存在“Access Control Allow Origin”标题

燕琨
2023-03-14

所以我想在我用Play框架构建的Web服务上发表一篇文章。我使用ajax调用发出请求并发布一些JSON:

var post = $.ajax({
type:"POST",
url:"http://0.0.0.0:9000/v1.0/products",
data:'{"name":"Double product fdsfdsdf","sku":"3432432432","price":{"value":"22.0","curency":{"key":"USD"}}}'
})

然而,我一直得到这个错误:

undefined
XMLHttpRequest cannot load http://0.0.0.0:9000/v1.0/products. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://0.0.0.0:2333' is therefore not allowed access. 

以下是我在播放上的设置:

object Global extends GlobalSettings {

  /**
   * Global action composition.
   */
  override def doFilter(action: EssentialAction): EssentialAction = EssentialAction { request =>
    action.apply(request).map(_.withHeaders(
      "Access-Control-Allow-Origin" -> "*",
      "Access-Control-Allow-Methods" -> "POST, GET, PUT, DELETE, OPTIONS",
      "Access-Control-Allow-Credentials" -> "true"
    ))
  }
}

知道发生了什么吗?谢谢

共有1个答案

谯乐池
2023-03-14

浏览器可能会首先发送一个飞行前选项调用,以查看是否存在任何标题,您可能需要确保使用正确的标题回答该问题。

这里有一个关于CORS如何工作的很好的流程图,您可以在这里看到OPTIONS请求以及应该发生什么:http://www.html5rocks.com/static/images/cors_server_flowchart.png

 类似资料:
  • 我已从play framework 2.0迁移。8至2.1。0,一切看起来都很完美,但我发现以下错误: play.api.意外异常:意外异常[ObjectExistsExcture:缓存播放已经存在]在play.core.ReloadableApplication$$anonfun$get1$$anonfund$1.apply(Applicationrovider.scala:142)~[play

  • 在用400k记录查询MongoDb时,我得到了< code>OutOfMemoryError。我收集了大约40万条用户记录。当我试图检索所有用户(在弹性搜索中转储)时,我得到了< code>OutOfMemoryError错误。 我已经浏览过这个链接,在application.config中添加了jvm.memory=-Xms64m -Xmx1024m,但还是一样的异常。 这是我的堆栈跟踪 -

  • 而是使用EventStream而不是ArchivedEventStream,当我运行命令alert(通知)消息时,会转到除原始发件人之外的所有连接套接字,我也可以如何发送到原始发件人。 这是我的模型和控制器,使用WebSocket 事件模型 这是控制器

  • Rest服务器(Play Framework)中的相关问题在负载测试期间出现“读取超时”异常 java版本“1.8.0_31”java(TM)SE运行时环境(Build1.8.0_31-B13)java HotSpot(TM)64位服务器VM(Build25.31-B07,混合模式) 我正在我的本地PC中测试jmeter。我使用了2000个线程,出现了超时异常,并且Socket不知为什么没有关闭。

  • 问题内容: 我正在尝试在play框架的scalaquery中实现“基于请求”的会话。我使用scalaquery创建了一个会话,并尝试将其存储在当前的http上下文中,如下所示: 然后将动作包装在控制器中,例如: 但是,它在以下行中崩溃: 那么,为什么上下文不可用?该代码直接由框架调用,因此不应在执行该代码时设置上下文吗?还是我使用错误的方式访问上下文? 编辑:“会话”的类型为。我之所以要在Http

  • 我在Eclipse中使用play frame work,并尝试使用opennlp对CSV文件中的数据进行标记化。所以,我正在上传CSV文件,并尝试使用opennlp库对其进行标记。 因此,我在Build中添加了maven依赖项。scala如下所示,我正在尝试在我的应用程序中导入该包。我看到了上面的错误。请让我知道我还需要补充什么? 错误: pplication.java: Build.scala: