如何使用 jquery 中的 ajax 参数调用 playframework api 而无需重新加载页面?
How to call playframework api with parameters using ajax from jquery without reloading the page?
我想在我的 Web 应用程序中加载一个元素,而无需使用播放框架重新加载整个页面,jquery 和 ajax。我无法使用来自 jquery 的参数调用 API。
在不使用 jquery、ajax 和播放框架重新加载整个页面的情况下,应该进行哪些更改或应该编写哪些附加代码来调用带有参数的 API?
以前我在 javascript 上遇到过同样的问题,但我已经解决了。同样的事情我也尝试过申请但是没有成功。
<script>
$(document).ready(function(){
$("#button").click(function(){
$.ajax({url: "@routes.UserController.getUserKeySearch(keySearchForm.get().keySearchText)", success: function(result){
console.log(result);
}});
});
});
</script>
@inputText(keySearchForm("keySearchText"),'_label -> "")
<input type = "button" value = "Click Me" id = "button">
我收到上述代码的 NoSuchElementException:
[CompletionException: java.util.NoSuchElementException: 没有值]
问题是服务器端的代码是 运行:
url: "@routes.UserController.getUserKeySearch(keySearchForm.get().keySearchText)"
因此您需要重新加载页面以获得 @routes.UserController.getUserKeySearch(keySearchForm.get().keySearchText)
的正确值
解决方案是使用 Javascript 路由器,查看我对您上一个问题的回答:
因此,您将拥有类似
的代码
$("#button").click(function(){
var searchKey = $('#keySearchText').val(); // Selector could be different.
var searchUrl = sRoutes.controllers.UserController.getUserKeySearch(searchKey).url;
$.ajax({url: searchUrl, success: function(result){
console.log(result);
}});
});
我想在我的 Web 应用程序中加载一个元素,而无需使用播放框架重新加载整个页面,jquery 和 ajax。我无法使用来自 jquery 的参数调用 API。 在不使用 jquery、ajax 和播放框架重新加载整个页面的情况下,应该进行哪些更改或应该编写哪些附加代码来调用带有参数的 API?
以前我在 javascript 上遇到过同样的问题,但我已经解决了。同样的事情我也尝试过申请但是没有成功。
<script>
$(document).ready(function(){
$("#button").click(function(){
$.ajax({url: "@routes.UserController.getUserKeySearch(keySearchForm.get().keySearchText)", success: function(result){
console.log(result);
}});
});
});
</script>
@inputText(keySearchForm("keySearchText"),'_label -> "")
<input type = "button" value = "Click Me" id = "button">
我收到上述代码的 NoSuchElementException:
[CompletionException: java.util.NoSuchElementException: 没有值]
问题是服务器端的代码是 运行:
url: "@routes.UserController.getUserKeySearch(keySearchForm.get().keySearchText)"
因此您需要重新加载页面以获得 @routes.UserController.getUserKeySearch(keySearchForm.get().keySearchText)
解决方案是使用 Javascript 路由器,查看我对您上一个问题的回答:
因此,您将拥有类似
的代码$("#button").click(function(){
var searchKey = $('#keySearchText').val(); // Selector could be different.
var searchUrl = sRoutes.controllers.UserController.getUserKeySearch(searchKey).url;
$.ajax({url: searchUrl, success: function(result){
console.log(result);
}});
});