【发布时间】:2012-02-28 04:37:12
【问题描述】:
我一直在尝试创建一个带有播放框架的 Web 服务。我搜索了一些关于此的教程和资源,最终使用 renderJSON() 方法来提供 JSON RESTful Web 服务。
但是,当我尝试使用 JQuery 使用 Web 服务时,似乎存在问题。如果我使用 JSON,它会失败并出现此错误 Origin http://localhost is not allowed by Access-Control-Allow-Origin。这似乎是一个跨域问题。然后我尝试使用 JSONP 作为 JQuery 尝试使用 Web 服务时的数据类型,再次出现 parseError 问题。
经过一番研究,我发现要为 JSONP 请求提供 Web 服务。我们需要提供类似回调函数的东西。因此,仅将 JSON 对象返回给客户端是不够的。如果我没记错的话,格式应该类似于 {#callback-function}{#JSON-data}
如何在 Play Framework 中制作跨域 Web 服务?有什么解决方法吗? 有没有办法将对象列表的 JSON 格式保留为字符串,而不是像调用 renderJSON() 那样直接将对象呈现为 JSON?
【问题讨论】:
标签: json web-services rest playframework jsonp