所以我不想将数据从网络表格发布到数据库 这就是我的所有代码
的script.js
$scope.save1 =function()
{
var input2 = {
"_id":$scope.iduser,
"Name":$scope.username,
"position":$scope.position,
"level":$scope.level,
"acclevel":$scope.data.acclevel,
"status":$scope.status1,
"pass":$scope.pass
}
$http.post("http://localhost:22345/user",input2)
.success(function(res) {
if(res.error == 0)
{
$scope.status1 = "active";
$scope.iduser = "";
$scope.username = "";
$scope.position = "";
$scope.level = "";
$scope.data.acclevel = "";
$scope.pass = "";
$scope.IdUser = false;
alert("save success");
}
else
{
console.log(res.User);
}
});
} }]);
我的其余API(user.js)
app.post("/user",function(req,res){
var users = new user(req.body);
users.save(function(err,users){
if(err)
{
data['error'] = 1;
data['User'] = err;
res.json(data);
}
else
{
data['error'] = 0;
res.json(data);
}
})
});
模型
var mongoose = require("mongoose");
var Schema = mongoose.Schema;
var user = new Schema({
_id : String,
Name : String,
position : String,
level : String,
status : String,
pass : String},{ collection: 'user'});
var user = mongoose.model("user",user);
module.exports.user = user;
当我尝试使用表格数据使用邮递员发帖时,我总是得到错误结果,但如果我使用x-www-form-urlencoded,我可以获得成功结果,所以从mya代码中出现问题。谢谢
更新
最后我发现了问题,当我尝试创建标题(Access-Control-Allow-Origin,Access-Control-Allow-Methods等)时,我发生了这个问题,我用它来改变它
app.use(function (req,res,next) {
res.header("Access-Control-Allow-Origin","*");
res.header('Access-Control-Allow-Methods','POST,GET,PUT,DELETE,OPTIONS');
res.header("Access-Control-Allow-Headers","X-Requested-With,X-HTTP-Methods-Override,Content-Type,Accept,Cache-Control, Pragma, Origin,Authorization, Content-Type");
res.header("Access-Control-Allow-Credentials","true");
if ('OPTIONS' == req.method){
return res.send(200);
}
next();
});
非常感谢所有答案
答案 0 :(得分:0)
Form-data
和x-www-form-urlencoded
是由form content type
定义的W3C
的不同类型。
x-www-form-urlencoded
为Default
,用于发送simple text/ASCII
数据。
Form-data
或non-ASCII data
,则会使用 large Binary data
。
根据w3.org文档:
内容类型“application / x-www-form-urlencoded”效率低下 用于发送大量二进制数据或包含的文本 非ASCII字符。内容类型“multipart / form-data”应该是 用于提交包含文件,非ASCII数据和表单的表单 二进制数据。
在您的情况下,您有simple text/ASCII data
。因此,x-www-form-urlencoded
将取代form-data
。
请阅读w3.org的Documentation on Form Content Types,以便更好地了解这些表单内容类型。
你也可以参考Postman Docs来消除疑虑。
我希望这可以解除你的怀疑。