2016-01-21 45 views
0

我是Scala和Play的新手,现在学习了几天,我有一个json对象,我需要发送到我的scala控制器类并与数据库连接以存储。我不知道该怎么做?请帮助我解决这个问题。如何在JavaScript中使用Scala中的json对象来连接数据库?

(function() { 
    var jvalue; 
    jvalue = {}; 
    $('input[id=buttonId]').click(function() { 
    var name; 
    name = $(this).attr('name'); 
    jvalue[name] = $(this).val(); 
    }); 
    $('#submit').click(function() { 
    $('input[id=fileId]').each(function($i) { 
     var name; 
     name = $(this).attr('name'); 
     jvalue[name] = $(this).val(); 
    }); 
    console.log(JSON.stringify(jvalue));//I need to use jvalue object in scala class to store and connect with my database(how can I use or parse or route to scala to use) 
    }); 
})(); 

阶:

def addJson = Action(BodyParsers.parse.json) { implicit request => 
    jsonForm.bindFromRequest.fold(
     errors => BadRequest, 
     { 
     case (content) => 
      Jsoncontent.insert(Jsoncontent(NotAssigned, content)) 
      Redirect(routes.Application.index()) 
     } 
    ) 
} 

路线

POST /addJson     @controllers.Application.addJson 

回答

0

您必须使用HTML表单或AJAX从浏览器向服务器发送数据。

如果你正在使用jQuery: http://api.jquery.com/jquery.ajax/

$.ajax({ 
    method: "POST", 
    url: "/addJson", 
    data: jvalue 
}); 

但是,如果你正在使用AJAX(而不是形式),你不应该动作后重定向。你应该这样做:

case (content) => 
    Jsoncontent.insert(Jsoncontent(NotAssigned, content)) 
    NoContent 

或者返回类似:

Ok(Json.obj({"success": true})) 
+0

感谢您的回复,如果我将数据发送到服务器,然后如何使用这些数据在斯卡拉连接,并存储在数据库中? – Nag

+0

@Alvaro Carrasco,它发出错误的请求:找不到http:// localhost:9000/addJson? – Dhana

+0

@Dhana,是吗? BadRequest和NotFound是两个不同的错误。你可以发布请求的记录(包括请求标题)吗?您可以从Chrome开发人员工具(网络选项卡)获取它。 –

相关问题