Javascript $(“输入”).val()在使用$.post()时返回未定义
无法解决这个问题让我觉得很傻,但我的post请求在$(“#input').val()行中一直显示为未定义。有人能帮我解决这个问题吗Javascript $(“输入”).val()在使用$.post()时返回未定义,javascript,jquery,html,Javascript,Jquery,Html,无法解决这个问题让我觉得很傻,但我的post请求在$(“#input').val()行中一直显示为未定义。有人能帮我解决这个问题吗 <html> <head> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <script> let sr = $("#input").val(
<html>
<head>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script>
let sr = $("#input").val();
$(document).ready(function(){
$("button").click(function(){
$.post("http://localhost:8080/", {subreddit: sr}, function(data, status){
alert("Data: " + data + "\nStatus: " + status);
});
});
});
</script>
</head>
<body>
<div id='content' style="height:100%, width:100%">
<input id='input' type="text" placeholder='enter subreddit'/>
<button>Search</button>
</form>
</div>
</body>
</html>
设sr=$(“#输入”).val();
$(文档).ready(函数(){
$(“按钮”)。单击(函数(){
$.post(”http://localhost:8080/“,{subreddit:sr},函数(数据,状态){
警报(“数据:+数据+”\n状态:+状态);
});
});
});
搜寻
这是因为在加载DOM之前,脚本的这一部分正在运行。将其移动到$(文档)中。ready()
:
let sr=$(“#input”).val()代码>单击按钮时应运行部分脚本
将其移动到单击处理程序中,如下所示:
$(document).ready(function() {
$("button").click(function(){
let sr = $("#input").val();
$.post("http://localhost:8080/", {subreddit: sr}, function(data, status){
alert("Data: " + data + "\nStatus: " + status);
});
});
});
我的问题实际上是后端的问题。它一直返回未定义,因为我没有调用.toString()方法。谢谢大家的帮助。我将它移到了单击处理程序中,但它仍然返回未定义。
$(document).ready(function() {
$("button").click(function(){
let sr = $("#input").val();
$.post("http://localhost:8080/", {subreddit: sr}, function(data, status){
alert("Data: " + data + "\nStatus: " + status);
});
});
});