gpt4 book ai didi

java - 如何使用jquery中的ajax调用带有参数的playframework api而不重新加载页面?

转载 作者:行者123 更新时间:2023-11-30 01:47:01 26 4
gpt4 key购买 nike

我想在我的 Web 应用程序中加载一个元素,而无需使用 play 框架、jquery 和 ajax 重新加载整个页面。我无法使用 jquery 中的参数调用 API。应该做哪些更改或应该编写哪些额外代码来使用参数调用 API,而无需使用 jquery、ajax 和 play 框架重新加载整个页面?

以前我在使用 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 Router,查看我对您上一个问题的回答:How to pass arguments using java script window.location to a java method in play framework?

因此,您将得到如下代码

$("#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);
}});
});

关于java - 如何使用jquery中的ajax调用带有参数的playframework api而不重新加载页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57567527/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com