【问题标题】:How can i call send and accept Json object from angular to backend on play frmaework?我如何在播放框架上调用从角度发送和接受 Json 对象到后端?
【发布时间】:2015-03-21 16:23:56
【问题描述】:

我在 play frmaework 上用 angularjs 写了一个前端,用 scala 写了一个后端。现在我想通过调用一个也返回 json 对象的方法将 json 对象从 angular 发送到后端。我在 angularjs、scala 和路由文件中编写了以下代码`

angular.js

$scope.show=function(){
        var url="localhost:9000"
        var urlText=
        {
            "url":$scope.url
        };
        $http({
            method:"GET",
            url:url+"/getUrl",
            params:{
                data:urlText
            }
        })
            .success(function(data){
                $scope.url-title.push(data.title)
                $scope.url-description.push(data.description)
                $scope.url-img.push(data.img)
            })

    }


Controllers.scala

object Application extends Controller{
def returnUrl(text:JsValue):JsValue ={
    val str=(text \ "url").as[String]
    val obj=new UrlPreview()
    obj.returnDescription(str)
    val jsonObj:JsValue=Json.obj(
      "title" ->obj.returnTitle(),
      "description"->obj.returnDescription(),
      "img"->obj.returnImage()
    )

    return jsonObj

  }
}

Routes

GET         /getUrl/{text}                    controllers.Application.returnUrl

`我是网络开发的新手。所以我没有足够的想法。如果您有任何想法或我在哪里做错了。请分享一些想法

【问题讨论】:

  • 请发布您遇到的任何错误以及更具体的问题。你签出playframework.com/documentation/2.0/ScalaJson了吗?特别是关于使用 Json.toJson 和 Map 创建复杂的 Scala 对象?
  • @jspacek 方法 returnUrl 的参数不足:(文本:play.api.libs.json.JsValue)play.api.libs.json.JsValue。未指定的值参数文本。这是错误
  • 听起来您没有将正确的参数传递给 returnUrl,我看到您的最后一行只有 {text}。您在 localhost:9000 上是否有来自您的播放 ui 的堆栈跟踪?这将提供更多信息。
  • 我在路由文件 GET /getUrl/:text controllers.Application.returnUrl(text:JsValue)中有以下行

标签: json angularjs scala playframework-2.0


【解决方案1】:

如果您想发送 json,您应该在 Angular 端使用 POST 或 PUT 而不是 GET。在播放方面,身体解析器开始发挥作用,因此路由不包含任何参数,并且您可以在动作方法中使用例如请求.body.json。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-02-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多