Javascript 向Express发送AJAX POST请求

Javascript 向Express发送AJAX POST请求,javascript,ajax,express,ejs,Javascript,Ajax,Express,Ejs,我有两个问题。首先,我不知道在使用AJAX发送POST请求时我做错了什么。我正在返回结果,但我发送的userSrc参数未定义 如何发送参数,以便Express可以使用req.query读取参数,并将其用作搜索参数 代码如下: Jquery: $(function() { $("#userSrc").keyup( function () { let dInput = $("#userSrc").val();

我有两个问题。首先,我不知道在使用AJAX发送POST请求时我做错了什么。我正在返回结果,但我发送的userSrc参数未定义

如何发送参数,以便Express可以使用req.query读取参数,并将其用作搜索参数

代码如下:

Jquery:

$(function() {
    
    $("#userSrc").keyup( function () {
        let dInput = $("#userSrc").val();
        console.log(dInput);
      $.ajax({

        type: 'POST',
        url: '/quicksearch',
        data : {userSrc :dInput},
        
        success: function(result) {
          let html = '';
          console.log(result);
          result.each(element =>{
            console.log(element);
            html += "<h2>" + element.Title +"</h2>";
            $("#result").html(html);
          });
          
          
        }
      });
    });
  });
我遇到的第二个问题是,自从我尝试使用Object.keys和ForEach以来,如何实现我收到的结果。我不知道怎样才能得到结果

{result: Array(7)}
    result: Array(7)
    0: {Title: "Undefined", Year: "2006", imdbID: "tt1436480", Type: "movie", Poster: "https://m.media-amazon.com/images/M/MV5BMTgzNzkxMzk5Nl5BMl5BanBnXkFtZTgwMTQ2MzA2MDE@._V1_SX300.jpg"}
    1: {Title: "The Undefined", Year: "2013", imdbID: "tt3271334", Type: "movie", Poster: "N/A"}
    2: {Title: "Viet Costas - Citizenship: Undefined", Year: "2014", imdbID: "tt3838986", Type: "movie", Poster: "N/A"}
    3: {Title: "A Love Undefined", Year: "2015", imdbID: "tt4955578", Type: "movie", Poster: "N/A"}
    4: {Title: "Artist Undefined", Year: "2015", imdbID: "tt5190590", Type: "movie", Poster: "N/A"}
    5: {Title: "Undefined", Year: "2014", imdbID: "tt5581814", Type: "movie", Poster: "N/A"}
    6: {Title: "Undefined: A Muslim-American Musical", Year: "2017", imdbID: "tt7178924", Type: "movie", Poster: "https://m.media-amazon.com/images/M/MV5BODMwYTE1ZG…jk0ZmZhXkEyXkFqcGdeQXVyNzI4NTUyNjE@._V1_SX300.jpg"}
    length: 7
    __proto__: Array(0)
    __proto__: Object

提前谢谢

express处理程序正在URL中获取。这些是URL中
后面的字符,例如,
/quicksearch?search=text
req.query
将是
{search:“text”}

你想看报纸。这可以通过
req.body
完成。确保在express应用程序中添加中间件。包括中间件:

constbodyparser=require('body-parser');
const urlencodedParser=bodyParser.urlencoded({extended:false});
应用程序使用(urlencodedParser);
现在,在路由处理程序中,您可以访问
req.body

您的
forEach
很好,但似乎使用了错误的变量。在JavaScript中,
结果
包含整个响应。您的数组位于
result.result
中。为您的JavaScript重写:

$(函数(){
$(“#userSrc”).keyup(函数(){
设dInput=$(“#userSrc”).val();
控制台日志(dInput);
$.ajax({
键入:“POST”,
url:“/quicksearch”,
数据:{
userSrc:dInput
},
成功:功能(反应){//反应是整个身体
让html='';
console.log(response.result);
response.result.each(元素=>{
控制台日志(元素);
html+=“”+元素。标题+“”;
$(“#结果”).html(html);
});
}
});
});
});
{result: Array(7)}
    result: Array(7)
    0: {Title: "Undefined", Year: "2006", imdbID: "tt1436480", Type: "movie", Poster: "https://m.media-amazon.com/images/M/MV5BMTgzNzkxMzk5Nl5BMl5BanBnXkFtZTgwMTQ2MzA2MDE@._V1_SX300.jpg"}
    1: {Title: "The Undefined", Year: "2013", imdbID: "tt3271334", Type: "movie", Poster: "N/A"}
    2: {Title: "Viet Costas - Citizenship: Undefined", Year: "2014", imdbID: "tt3838986", Type: "movie", Poster: "N/A"}
    3: {Title: "A Love Undefined", Year: "2015", imdbID: "tt4955578", Type: "movie", Poster: "N/A"}
    4: {Title: "Artist Undefined", Year: "2015", imdbID: "tt5190590", Type: "movie", Poster: "N/A"}
    5: {Title: "Undefined", Year: "2014", imdbID: "tt5581814", Type: "movie", Poster: "N/A"}
    6: {Title: "Undefined: A Muslim-American Musical", Year: "2017", imdbID: "tt7178924", Type: "movie", Poster: "https://m.media-amazon.com/images/M/MV5BODMwYTE1ZG…jk0ZmZhXkEyXkFqcGdeQXVyNzI4NTUyNjE@._V1_SX300.jpg"}
    length: 7
    __proto__: Array(0)
    __proto__: Object