gpt4 book ai didi

javascript - 在nodejs的PUT方法中设置ID

转载 作者:行者123 更新时间:2023-12-03 06:45:19 26 4
gpt4 key购买 nike

服务器上有代码

apiRoutes.put('/intake', function(req, res)  {
Intake.findById({id, function(err, intake) {
if (err)
res.send(err);
check : true;
intake.save(function(err) {
if (err) {
return res.json({success: false, msg: 'Error'});
}
res.json({success: true, msg: 'Successful update check state.'});
});
}})
});

我应该从前端设置 ID 值,但我不知道如何在函数中设置它。尝试这个 apiRoutes.put('/intake', id, function(req, res),但 id 未定义在controller.js的前面:

$scope.changeCheck = function(id) {
console.log(id);
mService.intake("PUT", $scope.intake, {"action": "put"}, id)
.success(function(data, status, headers, config) {
}).error(function(err) {
mService.errorHandler(status);
});
};

在服务文件中:

 intake : function(method, data, params, value) {

var endpoint = "";
switch (params.action) {
case "put" :
endpoint = "intake/" + value;
break;
}

return this.request(method, endpoint, data);

}

html

<li ng-repeat="intake in intakes">
<div class="welcome-box">
<div class="welcome-box-content" >
<label class="checkbox">
<input type="checkbox" ng-model="intake.check" ng-change="changeCheck(intake.pres_id)" />
</label>
<span class="drugs"> {{intake.dname}} <br></span> <span class="drugsdescr"><i class="fa fa-comment" aria-hidden="true"> </i> {{intake.comment}} <i class="fa fa-medkit" aria-hidden="true"></i> {{intake.dose1}}{{intake.dose2}} </span>
</div>
</div>
</li>

获取摄入量

mService.intake("GET", "", {"action" : "get"})
.success(function(data, status, headers, config) {
$scope.intakes = data;
console.log(data);
})
.error(function(data, status, headers, config) {
mService.errorHandler(status);
});

最佳答案

如果我没记错的话,您将在 Angular 服务中提供 id 值作为网址的一部分:

endpoint = "intake/" + value;

最终会是这样的:intake/12345

由于您没有在此处使用查询参数,服务器将期望它作为 URL 的一部分。

因此,您必须在服务器上指定 id 是 url 的一部分:

'/intake/:id'

apiRoutes.put('/intake/:id', function(req, res)  {
...
});

然后就可以从请求中获取id值了:

req.params.id

所以你在服务器上的 put 函数应该如下所示:

apiRoutes.put('/intake/:id', function(req, res)  {
var id = req.params.id;

Intake.findById({id, function(err, intake) {
if (err)
res.send(err);
check : true;
intake.save(function(err) {
if (err) {
return res.json({success: false, msg: 'Error'});
}
res.json({success: true, msg: 'Successful update check state.'});
});
}})
});

关于javascript - 在nodejs的PUT方法中设置ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37763764/

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