我需要将我的前端Javascript代码连接到我的服务器端NodeJS代码。我该怎么做?

时间:2017-08-08 21:19:15

标签: client-server

我们对编程很陌生并且有一个简单的问题。我们正在开发一个非常简单的Google搜索应用,可以使用客户端 - 服务器通信在Google上搜索字符串我们在这里有一个简单的Javascript子集:

 var firstName = some_string
 var lastName = some_string
 var googleSearch = firstName + lastName;
 googleSearch = JSON.stringify(googleSearch);

我们需要将此代码链接到NodeJS代码以进行实际搜索。

 var google = require('google');
 google.resultsPerPage = 25;
 var nextCounter = 0;

 google(googleSearch, function(err,res) { // Note googleSearch is from
                                          // the frontend Javascript code
                                          // that we want to pull the data from.
     if (err console.error(err)
     var link = res.links[0];
     console.log(link.href);
     var myLink = link.href;


 })

我们希望从前端代码中获取 googleSearch 变量中的数据,并在我们的服务器端代码中使用它。然后,我们希望将 myLink 中的数据显示在我们的前端代码中。 class Person(ndb.Expando): pass person = Person(fname='some', lname='body') person_key = person.put() ... person = person_key.get() person.city = 'San Francisco' person.address = '1234 Main St.' person.put() 位于我们的服务器端代码中。

1 个答案:

答案 0 :(得分:0)

您需要做的是从前端向服务器发出Ajax请求。

如果你使用jquery,你可以做这样的事情

$.ajax({
  url: YOUR_SERVER_URL+"/getData",
data: {
  "google_search": googleSearch,
},
method: "GET",
//use data type json if your server returns json
dataType: "json",
success: function(result) {
  console.log("data fetched Successfully");
  //result is the data your server returned.
  console.log(result);
},
error: function() {
console.log("Something went wrong, data could not be fetched");
}
});

如果您使用带节点的Express,则在服务器端, 你可以通过这样的方式返回JSON:

var app = express();
app.get('/getData', function(req, res, next) {
            var google = require('google');
            google.resultsPerPage = 25;
            var nextCounter = 0;
            //getting query data that you passed from front end
            var googleSearch = req.query.google_search;
            google(googleSearch, function(err, res) {
                    if (err console.error(err) var link = res.links[0]; console.log(link.href);
                        var myLink = link.href;
                    })
                //sending json data as response
                res.json(myLink);
            });

如果您使用的是localhost,那么您的服务器网址将类似于" https://localhost:5000"。