我在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
`我是网络开发的新手。所以我没有足够的想法。如果你知道我在哪里做错了。请分享一些想法
如果你想发送json,你应该POST或PUT,而不是GET。在播放端,主体解析器开始发挥作用,这样路由就不包含任何参数,在操作方法中,您可以使用例如request.body.json.