gpt4 book ai didi

Angularjs 向服务器发送请求

转载 作者:搜寻专家 更新时间:2023-10-31 22:19:37 24 4
gpt4 key购买 nike

我如何收集我从客户端发送的信息?在这种情况下,id?

如何获取id?

我确实使用客户端请求:

    return $http.post('/api/kill', {id:4}, {
headers: {}
})

当我检查服务器端的 req.body console.log(Req.body) 我得到:

 { '{"id":4}': '' }

req.body.id 返回:

undefined

如何获取4的id?

编辑1:

主要代码位于https://github.com/meanjs/mean

服务器端代码:

app.post('/api/kill', function (req, res) {


console.log(req.body); // { '{"id":4}': '' }
console.log(req.body.id); // undefined

});

最佳答案

您需要将该 id 属性分配给一个对象,例如

item = { id : 4 }

假设您有一个文本框,用户想要通过在其中插入名称并单击提交来保存新项目。

我们还假设您正在使用 MongoDB 项目集合,为了简单起见,它只有 id 字段。

以下是您应该做的事情,以便轻松进行。

确保您正在导入 bodyParser

var bodyParser = require('body-parser');

HTML - 使用自定义 ID 保存新项目

<div class="form-group">
<label for="id">ID</label>
<input type="text" class="form-control" id="id" ng-model="ItemController.formData.id">
</div>

<button type="submit" ng-click="ItemController.createItem()" >Submit</button>

Angular 部分 - ItemController.js

'use strict';

angular
.module('myApp')
.controller('ItemController', ItemController);

function ItemController($http) {

var vm = this;

/** Creates a New Marker on submit **/
vm.createItem = function() {

// Grabs all of the text box fields
var itemData = {
id : vm.formData.id
};

// Saves item data to the db
$http.post('/api/kill', itemData)
.success(function(response) {
if(response.err){
console.log('Error: ' + response.err);
} else {
console.log('Saved '+response);
}
});
};
}

路由处理 - routes.js

var ItemFactory   = require('./factories/item.factory.js');

// Opens App Routes
module.exports = function(app) {

/** Posting a new Item **/
app.post('/api/kill', function(req, res) {
ItemFactory.postItem(req).then( function (item) {
return res.json(item);
});
});

};

发布到 MongoDB - item.factory.js

var Item  = require('../models/item-model');
exports.postItem = postItem;

function postItem(item) {
return new Promise( function (resolve, reject) {
var newItem = new Item(item.body);
newItem.save(function(err) {
if (err){
return reject({err : 'Error while saving item'});
}
// If no errors are found, it responds with a JSON of the new item
return resolve(item.body);
});
});
}

如果您在我传递项目的不同代码段上尝试 console.log(),您可以正确地看到具有 id 属性 的对象。

希望我对您有所帮助。

关于Angularjs 向服务器发送请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39107564/

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