0
我想從使用Jquery Ajax調用的響應前端提交請求。然而,我對app.post的任何嘗試似乎都沒有實際發送數據到數據庫。如果有什麼事情我剛剛得到一個空{}的 「完成發送」Mongodb React節點傳遞POST請求失敗
代碼: Server.js
app.post('/api/users', function(req, res) {
var name = req.body.name;
var gender = req.body.gender;
users.findOne({ users : users.name }, function(err, users) {
if (err) return next(err);
users.save(function(err) {
if (err) return next(err);
res.send({ message: users.name + ' has been added' });
});
});
});
代碼: 型號/ model.js
var mongoose = require('mongoose');
var userSchema = new mongoose.Schema({
name: {
first: String,
last: String
},
email: String,
gender: String,
school: String,
updated_at: {type: Date, default: Date.now},
});
module.exports = mongoose.model('User', userSchema);
代碼:
反應動作文件: app/action/class AddCharacterActions {
constructor() {
this.generateActions(
'addCharacterSuccess',
'addCharacterFail',
'updateName',
'updateGender',
'invalidName',
'invalidGender'
);
}
addCharacter(name, gender) {
$.ajax({
type: 'POST',
url: '/api/users',
data: { name: name, gender: gender }
})
.done((data) => {
this.actions.addCharacterSuccess(data.message);
})
.fail((jqXhr) => {
this.actions.addCharacterFail(jqXhr.responseJSON.message);
});
}
}
export default alt.createActions(AddCharacterActions);
陣營控制器:
應用程序/控制器/ userController.js
class AddCharacter extends React.Component {
constructor(props) {
super(props);
this.state = AddCharacterStore.getState();
this.onChange = this.onChange.bind(this);
}
componentDidMount() {
AddCharacterStore.listen(this.onChange);
}
componentWillUnmount() {
AddCharacterStore.unlisten(this.onChange);
}
onChange(state) {
this.setState(state);
}
handleSubmit(event) {
event.preventDefault();
var name = this.state.name.trim();
var gender = this.state.gender;
if (!name) {
AddCharacterActions.invalidName();
this.refs.nameTextField.getDOMNode().focus();
}
if (!gender) {
AddCharacterActions.invalidGender();
}
if (name && gender) {
AddCharacterActions.addCharacter(name, gender);
}
}
我似乎無法找出在我的錯誤發生,雖然我有心想準是其由於我server.js app.post文件。謝謝
你的服務器(server.js)在哪裏運行,你得到了什麼確切的錯誤以及錯誤是在哪裏觸發的? – piscator
server.js在根上運行,我沒有收到錯誤,在控制檯上獲得狀態200,並在前端讀取「成功」。 – JFBadams