gpt4 book ai didi

javascript - 使用 AJAX 从客户端( Angular )获取数据到 Node.js

转载 作者:行者123 更新时间:2023-12-02 16:25:18 24 4
gpt4 key购买 nike

我在 Controller 中有一个函数,它应该从客户端检索 Google map 坐标并将其传递给 node.js,然后将它们保存到 mongoose 架构中。然而,什么也没有发生。 Controller 部分如下所示:

    $scope.createEvent = function() {
$http.post('/api/events', $scope.formData, $scope.latitude, $scope.longitude)
.success(function (data) {
var latitude = $scope.latitude;
var longitude = $scope.longitude;
$scope.formData = {};
$scope.meetings = data;
console.log(data);
})
.error(function(data) {
console.log('Error: ' + data);
});
};

这部分 map 初始化函数负责获取坐标

google.maps.event.addListener(map, "click", function (event) {
$scope.latitude = event.latLng.lat();
$scope.longitude = event.latLng.lng();
});

Initialize 函数也在与 $scope.initialize 相同的 Controller 中定义

routes.js:

app.post('/api/events', function(req, res) {
Event.create({
title : req.body.title,
description: req.body.description
latitude: req.body.latitude,
longitude: req.body.longitude
}, function(err, meeting) {
if (err)
res.send(err);
});
});

以防万一, Mongoose 模式如下所示:

var eventsSchema = new Schema({
title: String,
description: String,
longitude: String,
latitude: String
});

当用户单击 map 时,创建操作会触发,因此纬度和经度应该已经知道,但什么也没有发生。如何将此信息发送到 Node 服务器?

最佳答案

在发布之前,您必须将该值纳入范围,然后发布到网址...可能这个值来自前端并将该值绑定(bind)到范围。

 $scope.createEvent = function() {
$http.post('/api/events', {
title : $scope.title,
description: $scope.description
latitude: $scope.latitude,
longitude: $scope.longitude
})
.success(function (data) {

$scope.meetings = data;
console.log(data);
})
.error(function(data) {
console.log('Error: ' + data);
});
};

希望这对你有帮助......

关于javascript - 使用 AJAX 从客户端( Angular )获取数据到 Node.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28742052/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com