0
播放框架版本是2.2.6玩!框架檢索到的字符串,這是一個空
jQuery的
$('#fridgeSearchInputField').keyup(function() {
var $text = $(this).val();
$.ajax({
type: 'GET',
url: '@routes.controllers.Application.ajaxAutocomplete()',
data: $text,
success: function (data) {
// success result
}
});
});
routes文件中Applicati
GET /:ingredientName controllers.Application.ajaxAutocomplete(ingredientName: String)
方法在控制器
public static Result ajaxAutocomplete(String ingredientName){
String s = request().body().asText(); //I guess something here is wrong
System.out.println(s);
return ok("");
}
的問題是,當我打印小號變量在遊戲控制檯它打印出空。我的代碼有什麼問題?如何通過請求從輸入字段獲取文本以便稍後使用它?謝謝
在您的Javascript中,您生成的網址爲「@ routes.controllers.Application.ajaxAutocomplete()」,即沒有任何成分名稱。我最近沒有做過任何Play框架,但不應該提供一個參數嗎?此外,你是否嘗試過debbuging並且正在研究request().body()'它看起來像什麼? –
@Gaël當我寫請求()。toString()它返回我想要的,但是這樣'GET /@routes.controllers.Application.ajaxAutocomplete()?d GET /@routes.controllers.Application.ajaxAutocomplete()?di '等 –
您正在發送獲取請求;它甚至*有*身體?像普通發送參數。不相關的,但IMO'$'前綴應該保留用於實際上與jQuery相關的東西,而不是文本字符串。 –