这是我第一次使用Play框架,我正在尝试设计一个有助于管理机架货架布置的应用程序。我在droppable div上放置了一个背景图像来显示一个机架。我想要做的是,在drop函数存储数据库中的图像位置,以便下次我输入图像并将其定位在同一位置时可以检索它。我通过
获得了顶部和左侧的值停止:function(event,ui){
// Show dropped position.
var Stoppos = $(this).position();
$(this).addClass("postn");
var pos = $("div#stop").text("STOP: \nLeft: "+ Stoppos.left + "\nTop: " + Stoppos.top);
}
显示掉落的位置任何人都可以告诉我 1)我应该如何在Ajax调用中传递数据 2)如何在Applications方法中处理它。
提前完成。
答案 0 :(得分:1)
管理以保持ajax调用和Applications方法:
//AJAX
$.ajax({
type: "POST",
url: "@routes.Application.myMethod()",
data: {
Left:Stoppos.left,
Top:Stoppos.top
},
dataType:"Json",
success: function(data) {
alert("success");
},
error :function(){
alert("error");
}
//Applications
public static Result myMethod() {
Map<String, String[]> parameters = request().body().asFormUrlEncoded();
String top = parameters.get("Top")[0];
String left = parameters.get("Left")[0];
System.out.println(top+" "+left);
return ok(Json.toJson(1));
}
一旦我得到它,我会将ebean插入发布到db。
答案 1 :(得分:0)
jsRoutes.controllers.YourController.YourMethod().ajax({
type: "POST",
url: "url",
data: yourData,
dataType: 'text',
contentType:'application/json',
success: function(msg){alert(msg)}
在控制器中:
@BodyParser.Of( play.mvc.BodyParser.Json.class )
public static Result retrievePlaces(){
response().setContentType( "application/json" );
JsonNode json = request().body().as(JsonNode.class);
JsonNode jsonRequest = request().body().asJson();
String var1= jsonRequest.findPath("yourVar").getTextValue();
String var2= jsonRequest.findPath("YourVae").getTextValue();
ObjectNode result = Json.newObject();
result.put("status", "OK");
return ok(result);
}
答案 2 :(得分:0)
在你的javascript成功之后你必须再次调用你的JS方法可能会尝试这个所有的JS文件(当你使用jquery时它会更好)
!function( $ ) {
function nameFunction() {
...
}
nameFunction()
}( jQuery )
我认为你的javascript没有被调用,在chrome中尝试javascript调试器并在你的js代码id中添加一个断点而不是通过断点传递你的代码没有被调用 所以当你成功的时候请叫“nameFunction()”。 如果你想使用javascript,你必须使用javascript调试器!!!!!