AJAX post-in-Play框架
您好,我正在尝试向play framework中的方法发送一个字符串,但单击submit按钮后,我在控制台中收到500(内部服务器错误)错误。这是我的前端代码:AJAX post-in-Play框架,ajax,playframework,playframework-2.0,playframework-2.2,Ajax,Playframework,Playframework 2.0,Playframework 2.2,您好,我正在尝试向play framework中的方法发送一个字符串,但单击submit按钮后,我在控制台中收到500(内部服务器错误)错误。这是我的前端代码: $("#submit").click( function() { $.ajax({ url: "@routes.Application.upload()", data: JSON.stringify(filename), headers: { 'Content-Type': 'applicatio
$("#submit").click( function() {
$.ajax({
url: "@routes.Application.upload()",
data: JSON.stringify(filename),
headers: {
'Content-Type': 'application/json'
},
type: 'POST',
success: function(res) {
if (res) {
console.log("Success!");
} else {
console.log("Failed...");
}
}
});
return false;
});
我的表格:
<form id="#idForm">
<input type="file" name="file" id="file">
<input id="submit" type="submit">
</form>
您能帮我一下吗。如果您想发送字符串,那么如何更改表单中的
input type=“text”
,并在ajax函数之外使用serializeArray
序列化表单,例如var formData=JSON.stringify($(“#idForm”).serializeArray()
和内部ajax函数集data:formData
也contentType:“application/json”
。在控制器中的upload()中。
JsonNode formValue=request().body().asJson()代码>
String jsonValue=formValue.findValue(“value”).textValue()代码>
检查此操作是否有效。您正在尝试发布数据。。去参加一个活动?url:“@routes.Application.upload()”,@britter@routes.Application.upload()基本上是/upload。我尝试了这两种方法,但它给了我相同的错误POSThttp://127.0.0.1:9000/upload 500(内部服务器错误)
您能显示从服务器得到的错误吗?您可以查看控制台输出,或者如果您使用的是Chrome或Firefox,请检查开发工具中的网络。因此,请尝试使用@BodyParser.Of(BodyParser.Json.class)
@Salem此播放控制台错误[error]play-无法调用该操作,最终出现错误:java.lang.Null PointerException[error]应用程序-@6l4i8c1p2-内部服务器错误,用于(POST)[/upload]>play.api.Application$$anon$1:执行异常[[NullPointerException:null]]
public static Result upload() {
JsonNode node = request().body().asJson().get("stringField");
String inputString = node.asText();
System.out.println(inputString) ; }