play framework2開發(四)

來源:互聯網
上載者:User

處理和服務一個Json請求

處理一個Json請求

1、在UserControl.java中添加

 //json使用 @BodyParser.Of(BodyParser.Json.class) public static Result sayHello() {   JsonNode json = request().body().asJson();   String name = json.findPath("name").getTextValue();   if(name == null) {     return badRequest("Missing parameter [name]");   } else {     return ok("Hello " + name);   } }

BodyParser是讓play去把body直接轉換為json

2、在routes中添加

POST     /sayHello                        controllers.UserControl.sayHello()

3、開啟form.scala.html

添加<script type="text/javascript" src="@routes.Assets.at("javascripts/jquery-1.9.0.min.js")"></script>

同時在routes中添加 GET     /assets/*file               controllers.Assets.at(path="/public", file)

注意看public\javascripts\中jquery是否是jquery-1.9.0.min.js,根據自己檔案名稱

form.scala.html檔案

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title><script type="text/javascript" src="@routes.Assets.at("javascripts/jquery-1.9.0.min.js")"></script><script type="text/javascript">$(document).ready(function(){  $("#b01").click(function(){    $.ajax({   type:'post',   url:'@routes.UserControl.sayHello',   contentType:'application/json',  data:'{"name": "Json"}',    success:function(msg){  $("#myDiv").html(msg);  },  error:function(msg){  alert(msg.statusText);  }  });   });  });</script></head><body>   <input type="button" id="b01" value="testJson" >   <div id="myDiv">   顯示區   </div>   <form action="/register" method="post">     ID:<input type="text" id="id" name="id"/>     Name:<input type="text" id="name" name="name"/>     <input type="submit" value="submit"/>   </form></body></html>

用Json作為回應

sayHello方法改為

 //json使用 @BodyParser.Of(BodyParser.Json.class) public static Result sayHello() {   JsonNode json = request().body().asJson();   String name = json.findPath("name").getTextValue();   ObjectNode result=Json.newObject();   result.put("stauts","OK");   result.put("name", name);   if(name == null) {     return badRequest("Missing parameter [name]");   } else {     return ok(result.toString());   } } 


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.