Javascript Node.js:当我要编辑提供程序时,响应为空
我正在使用创建、获取、更新和删除提供商创建CRUD应用程序 Create和get工作得很好,但是我对update函数有问题。当我想要得到响应时,它是空的。我不知道为什么在Javascript Node.js:当我要编辑提供程序时,响应为空,javascript,node.js,Javascript,Node.js,我正在使用创建、获取、更新和删除提供商创建CRUD应用程序 Create和get工作得很好,但是我对update函数有问题。当我想要得到响应时,它是空的。我不知道为什么在app.post(“/proveedor/new”),函数(req,res){console.log(req.body)}正在打印正文,在app.put(“/proveedor/:id”)…中,他们没有给我数据 extends ../layout.jade block contenido div(class="col-md-3
app.post(“/proveedor/new”),函数(req,res){console.log(req.body)}
正在打印正文,在app.put(“/proveedor/:id”)…中,他们没有给我数据
extends ../layout.jade
block contenido
div(class="col-md-3 center-block no-float top-space")
h1 Editar Proveedor
form(method="POST" action="/proveedor/#{product.id}?_method=put" style="margin-top:1.5em;" enctype="multipart/form-data")
div(class="form-group")
label Nombre
input(type="text" value="#{product.title}" name="titulo" placeholder="Ingresa tu nombre" class="form-control")
div(class="form-group")
label Descripcion
input(type="text" value="#{product.description}" name="descripcion" placeholder="Ingresa tu descripcion" class="form-control")
div(class="form-group")
label Costo
input(type="nombre" value="#{product.pricing}" name="costo" placeholder="Ingresa costo" class="form-control")
div(class="form-group")
input(type="file" name="avatar")
div(class="form-group")
label Contrasena
input(type="password" name="password" placeholder="Ingresa tu contrasena" class="form-control")
div(class="form-group text-right")
input(type="submit" class="btn btn-info" value="Guardar")
还有我的app.js
var express = require('express');
var mongoose = require('mongoose');
var bodyParser = require('body-parser');
var multer = require('multer');
var upload = multer({ dest: 'upload/'});
var fs = require('fs');
var cloudinary = require('cloudinary');
var method_override = require("method-override");
var app_password = "12345";
var app = express();
app.put("/proveedor/:id",function(solicitud,respuesta){
console.log(solicitud.body);
if(solicitud.body.password == app_password){
var data = {
title: solicitud.body.title,
description: solicitud.body.description,
pricing: solicitud.body.pricing
};
if(solicitud.files.hasOwnProperty("avatar")){
cloudinary.uploader.upload(solicitud.files.image_avatar.path,
function(result) {
data.imageUrl = result.url;
Product.update({"_id": solicitud.params.id},data,function(product){
respuesta.redirect("/menu");
});
}
);
}else{
Product.update({"_id": solicitud.params.id},data,function(product){
respuesta.redirect("/menu");
});
}
}else{
respuesta.redirect("/");
}
});
我对nodejs也是新手。我认为问题可能在于多部分/表单数据发布。即使使用主体解析器,也无法直接从多部分post获取数据 :这不处理多部分实体,因为它们复杂且通常较大 因此,当您验证密码时,它不会永远通过,因为您的密码未定义或什么都没有。 你需要分析你的多部分文章
然而,我对你说你可以在create函数中打印一些东西感到困惑。我认为它会打印未定义的内容,但它没有。是的,昨天我发现了。穆特是解决办法。谢谢你,伙计。