从视图传递数据到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()
的this
variables指的是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
是从事件对象获取目标元素的方式,但是在这里我们没有。