我試圖從一個輸入框的路線返回值的變量,通過採取這種source作爲參考,但我堅持,在本例中筆者搜索的關鍵詞,構建網址使用這個關鍵字,並返回一個主體響應。節點快速傳遞變量從客戶端到服務器
我的使用情況有點不同,我需要的用戶提供一個網址,如搜索框,一個字符串,然後,我會傳給我的請求功能吐響應主體
當前app.js(服務器端)
app.get('/searching', function(req, res){
// input value from search
var url = req.query.search;
console.log(url); // prints value
request({ uri: url}, function (error, response, body) {
if (!error) {
content = body;
console.log(content);
} else {
console.log('Oops! Error when contacting slack.com');
}
});
res.send(content);
});
main.js(客戶端)
$(function(){
$('#submit').on('click', function() {
var sSearch = $('#search').val();
var parameters = { search: sSearch };
$.get('/searching',parameters, function(data) {
$('#results').html(data);
});
});
});
我意識到在這兩個上面的文件/searching
必須被替換,因爲目前它的努力「搜索」的用戶輸入的URL值作爲查詢字符串,所以如果我輸入「https://google.com」文本框中的應用程序試圖搜索:
http://localhost:3000/searching?search=https%3A%2F%2Fgoogle.com
,而不是我需要通過這個網址爲的就是能在request
功能,所以我可以打印body response
,在這種情況下,它將成爲頁面的源代碼。但我不知道我應該如何進行
index.jade(模板)
extends layout
block content
input#search(type="search", placeholder="Enter Keyword")
button#submit(type='submit',class='btn btn-success') Search
h2#results
script(src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.3/jquery.min.js")
script(src="/javascripts/main.js")
我應該如何格式,這樣我可以從客戶端變量傳遞給服務器,然後處理後發送回客戶端?任何幫助表示讚賞。
您是通過聲明它沒有通過的方式使用'var'關鍵字泄漏'content'到全局命名空間。 – m90