从视图传递数据到expression

我正在寻找一些关于以下问题的指导。 我试图从玉视图传递一个string到服务器。 val正在前端返回,但是当我尝试将它存储在对象中时,我正在返回[object Object]

我相信这是围绕参数variables,但我无法解决原因。

 $(function(){ $('#search').on('paste', function(){ console.log('key up'); setTimeout(function () { var linkURL = $('#search').val(); console.log(linkURL) // EVERYTHING BREAKS HERE var parameters = { search: $(this.target).val() }; console.log('p' + parameters) $.get( '/searching',parameters, function(data) { $('#results').html(data); }); }, 100); }); }); 

视图

 extends layout block content .container h1 London Plans form(method='post' action='/submit', class='plans', id='plans') .form-group label Do you have a link? input.form-control(name='search', id='search' type='text', required='required') 

我认为快速代码是正确的, console.log返回undefined ,假设因为对象被破坏。

 app.get('/searching', function(req, res){ // input value from search var val = req.query.search; console.log('val equals =' + ' ' + val); // testing the route // res.send("WHEEE"); }); 

任何指针正确的方向来debugging对象将不胜感激。

尝试replacevar parameters = { search: $(this.target).val() }; var parameters = { search: $('#search').val() };setTimeout()thisvariables指的是on()内部不同的对象。

您可以将{ search: $(this.target).val() }replace为{ search: linkURL }因为您已经将$('#search').val()的结果保存到linkURL

另请参阅on()函数的jQuery API: http : //api.jquery.com/on/

这个例子使用this指针“原样”而不是写this.target 。 例如在你的情况下,你可以写: $(this).val()而不是$(this.target).val() 。 移动一行var linkURL = $('#search').val();setTimeout行之上并将其更改为var linkURL = $(this).val(); 。 然后用{ search: linkURL }replace{ search: $(this.target).val() } { search: linkURL }

this.target是从事件对象获取目标元素的方式,但是在这里我们没有。