Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将客户端数据传递到url express路由_Javascript_Jquery_Node.js_Express - Fatal编程技术网

Javascript 将客户端数据传递到url express路由

Javascript 将客户端数据传递到url express路由,javascript,jquery,node.js,express,Javascript,Jquery,Node.js,Express,我不熟悉Node/Express,但我正在将jQuery/Bootstrap应用程序转换为一个带有节点后端的应用程序,用于路由和其他服务器端任务。当前,当用户单击某个链接时,它会将数据传递到url,然后在我进入新页面时获取该url。像这样: $("#parking_icon").on("click", function() { window.location = "_views/parkingLot.html?37.415912?-121.897520"; }); va

我不熟悉Node/Express,但我正在将jQuery/Bootstrap应用程序转换为一个带有节点后端的应用程序,用于路由和其他服务器端任务。当前,当用户单击某个链接时,它会将数据传递到url,然后在我进入新页面时获取该url。像这样:

$("#parking_icon").on("click", function() {
        window.location = "_views/parkingLot.html?37.415912?-121.897520";
    });
var urlQuery = window.location.search.substring(1);
var mapLatLon = urlQuery.split("?");
var centerCoords = [parseFloat(mapLatLon[1]), parseFloat(mapLatLon[0])];
然后我在我的
parkingLot.html
页面上获取并使用这些数据。像这样:

$("#parking_icon").on("click", function() {
        window.location = "_views/parkingLot.html?37.415912?-121.897520";
    });
var urlQuery = window.location.search.substring(1);
var mapLatLon = urlQuery.split("?");
var centerCoords = [parseFloat(mapLatLon[1]), parseFloat(mapLatLon[0])];
现在,我正试图转换为使用快速路线,我不确定如何实现这一点。(我有大约20个按钮,与上面的按钮类似,它们都传递不同的坐标)。我知道我可以通过为每个人创建一条单独的路线来实现这一点,类似于:

    app.get('/parkingLot?37.415912?-121.897520', function(req, res) {
    res.render('parkingLot', {
        title: 'testing ParkingLotPage'
        });
    });

但似乎必须有一个更简单的方法。我是否应该根本不使用
app.get()
?我确信这是一个noob问题,所以请原谅我,因为我对Node/Express还不熟悉。我正在使用ejs模板引擎,如果这有什么不同的话

更抽象地考虑一下,如果您有一条带有查询字符串的
/parkinglot
路线,那么我们可以直接在路线上使用该查询字符串

app.get('/parkinglot', (req, res) => {
  let lat = req.query.lat;
  let long = req.query.long;

  res.render('parkinglot', {
    title: '',
    data: {
      lat: lat,
      long: long
    }
  });
});
确保使用以
开头的
key=value
语法和所有由
分隔的键值对正确构造查询字符串

$("#parking_icon").on("click", function() {
    window.location = "_views/parkingLot?lat=37.415912&long=-121.897520";
});

哇,谢谢你的快速回复。我没想到会那么容易,我说我对这件事还不熟悉。。对于查询字符串,为什么它与我使用它的方式相比是正确的(
?37.415912?-121.897520
)只是好奇而已。这真的很重要,还是这只是最佳实践?@austinruex是的,这很重要,否则查询字符串解析器将无法解析传递的查询字符串。