Tag: playframework

Scala操作没有执行将json对象存储在ajax上使用Play Framework和Scala提交到Postgresql数据库?

我在我的视图页面(index.coffee)中有一个json对象,我在发送到Scala控制器类以通过jQuery / ajax存储在Postgresql数据库中,然后单击我的提交按钮。 我已经完成了以下操作:(控制器,模型和数据库表),但是在单击Submit按钮后我没有在数据库表中看到任何json数据,即使我在控制台上看不到任何错误和我的println()消息(我希望addJson ()动作没有执行)。我不确定我在所有文件的整个代码中做错了什么和哪里错了? 当我的Play Framework服务器(2.2.3)连接到我的数据库时(我可以看到控制台上的消息说:[info] play – database [default] connect at:jdbc:postgresql:// localhost:5432 / mydb)请让我知道我做错了什么,并提前感谢。 app.scala: package controllers import play.api.mvc._ import play.libs.Json; import com.fasterxml.jackson.databind.JsonNode; import play.api._ import play.api.mvc.Request import play.api.libs.json._ import play.api.mvc.AnyContent; import play.libs.Json; import com.fasterxml.jackson.databind.JsonNode; import anorm._ import play.api.data.Form import play.api.data.Forms.{single, nonEmptyText} import play.api.data._ import play.api.data.Forms._ import play.api.mvc.{Action, Controller} import anorm.NotAssigned import models.Jsoncontent […]

Play Framework JQuery AJAX REST Post调用返回Bad Request错误

我正在为我的Play应用程序构建自动保存function,当我的JQuery运行时,它会返回错误请求错误(错误400)。 编辑:我通过删除我传递给控制器​​的参数更新了我的代码,并按照此处的文档: https : //www.playframework.com/documentation/2.6.x/JavaJsonActions 以下是Chrome控制台中返回的内容: addptp:326 POST http://localhost:9000/autosave 400 (Bad Request) send @ jquery-3.2.1.min.js:4 ajax @ jquery-3.2.1.min.js:4 (anonymous) @ addptp:326 each @ jquery-3.2.1.min.js:2 each @ jquery-3.2.1.min.js:2 autosave @ addptp:325 (anonymous) @ addptp:188 我的JQuery: var timer; var restURL = window.location.protocol + “//” + window.location.hostname + (window.location.port == “” ? “” : (“:” + window.location.port)); $(document).ready(function() […]

在Play Framework应用程序中未检测到jQuery

我无法在Play Framework应用程序上使用jQuery / jQuery UI。 我已经包含了所有必需的样式表和js文件。 页面正确加载但Firebug错误控制台显示Jquery Undefined 。 我无法理解这里有什么问题。 有任何想法吗?

使用Play Framework以JSONforms提交表单

我试图将表单作为JSON对象提交,因为我想创建一个带有play的REST API。 我遇到的问题是Play告诉我这不是一个有效的JSON。 我的FORM代码: @(form : Form[Product]) @main(“Create Form”){ @helper.form(routes.Products.createProduct, ‘enctype -> “application/json”){ @helper.inputText(form(“name”)) Commit } } 控制器代码: // Read JSON an tell if it has a name Path @BodyParser.Of(BodyParser.TolerantJson.class) public static Result createProduct() { JsonNode json = request().body().asJson(); String name = json.findPath(“name”).textValue(); if (name == null) { return badRequest(“Not JSON”); } else { return […]

上传的文件只包含“WebKitFormBoundary”

我真的不知道这里发生了什么。 每次我尝试上传文件时,所有文件都包含: ——WebKitFormBoundaryJ0uWMNv89fcUsC1t– 我搜索了过去两天的某些解释,但我只是在圈子里。 我不知道为什么会这样。 形成: 使用Javascript: $(‘#upload-button’).click(function(e){ e.preventDefault(); var formData = new FormData($(‘#upload-file’)); $.ajax({ url: ‘/image’, type: ‘POST’, xhr: function() { var myXhr = $.ajaxSettings.xhr(); if(myXhr.upload){ myXhr.upload.addEventListener(‘progress’,progressHandlingFunction, false); } return myXhr; }, data: formData, cache: false, // contentType: false, processData: false }); }); 控制器: def image = Action(parse.temporaryFile) { request => request.body.moveTo(new File(“/tmp/picture”)) Ok(“File […]

将数组列表转换为json对象字符串

我有一个模型类方法,它返回一个包含所有注册用户详细信息的对象列表。 我想获取all()方法重新定义的列表,并将数据转换为JSON对象,并将其作为字符串传递给视图。 如何将此数组列表转换为JSON对象? 我无法通过以下方式执行此操作: ObjectMapper mapper = new ObjectMapper(); JSONObject json = new JSONObject(); JsonNodeFactory jsonnode = JsonNodeFactory.instance; ObjectNode result = new ObjectNode(jsonnode); for (int i = 0; i < list.size(); i++) { json.put(list.get(i).fname, list.get(i)); System.out.println(json.get("fname")); } @Entity class Mydata extends Model { @Id public Long Id; public String fname; public String lname; public String […]

如何在表单的AJAX post请求中传递CSRF令牌?

我正在使用Scala Play! 2.6框架,但这可能不是问题。 我正在使用他们的Javascript路由 – 它似乎工作正常,但它有问题。 我有一个表单,当使用CSRF令牌进行渲染时会生成此表单: Submit! 这是粗略的,我的AJAX: $(document).on(‘submit’, ‘#myForm’, function (event) { event.preventDefault(); var data = { textvalue: $(‘#sometext’).val() } var route = jsRoutes.controllers.DashboardController.postNewProject() $.ajax({ url: route.url, type: route.type, data : JSON.stringify(data), contentType : ‘application/json’, success: function (data) { … }, error: function (data) { … } }) }); 但是当我发布这个时,我从我的服务器获得了一个UNAUTHORIZED响应,我在IntelliJ中的控制台告诉我CSRF检查失败了。 我如何在请求中传递CSRF令牌?

Access-Control-Allow-Origin错误

我正在使用以下脚本 – function postForm() { $.ajax({ type: ‘POST’, url: ‘http://10.0.0.8:9000/demo’, data: {“name” : “test”}, contentType: “application/json; charset=utf-8”, dataType: ‘json’, }) } 我正在尝试访问的计算机正在运行播放框架。 我收到以下错误: 选项http://10.0.0.8:9000/demo 404(未找到)jquery-1.9.1.min.js:5 XMLHttpRequest无法加载http://10.0.0.8:9000/demo 。 Access-Control-Allow-Origin不允许使用http://localhost:8080 。 我已经被困了两天了,有人可以帮帮我吗? 谢谢你

使用浏览器后退按钮保留页面状态以便重新访问

我有一个页面,可以根据用户按下按钮动态加载内容: ${document).ready(function) { $(“#myButton”).click(function() { $(“#dynamicDiv”).load(“www.example.com”); }); } 动态内容工作正常,我可以整天抓取页面。 但是,在您按照指向其他页面的链接后,再按浏览器后退按钮返回页面,页面完全重置,就好像没有加载任何动态内容一样。 我发誓以前我看过不同的行为,但也许我疯了。 浏览器不应该保留页面的状态,而不是重新呈现它吗? 编辑:顺便说一句,我正在使用Play! 框架,如果这与此有任何关系。

Play Framework和jQuery Ajax请求,数据为Array

我通过jQuery使用Play Framework后端通过Ajax发送一个值数组,我遇到了问题。 这是一个例子: $.ajax ({ ‘type’: ‘POST’, ‘url’: ‘/url’, ‘timeout’: 5000, ‘data’: {‘ids’: [0, 1, 2, 3]}, ‘dataType’: ‘json’, ‘success’: function (oData) { // Process … } }); 但是在Play!中,如果我做了一个params.get(“ids”); ,我得到一个空值,如果我做了一个params.getAll(“ids”); 也。 我知道问题出在哪里,jQuery将数据发送为: ids[]=0&ids[]=1&ids[]=2&ids[]=3但是播放! 框架期望数组数据以ids=0&ids=1&ids=2&ids=3 是否有正确的方法来正确发送数据(或将数据作为控制器中的数组获取)? 到目前为止,我设法使其工作简单但在javascript中手动创建请求为String。 谢谢你的帮助。