Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/419.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript $(“输入”).val()在使用$.post()时返回未定义_Javascript_Jquery_Html - Fatal编程技术网

Javascript $(“输入”).val()在使用$.post()时返回未定义

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(

无法解决这个问题让我觉得很傻,但我的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();
      $(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);
    });
  });
});