我正在处理从客户端到服务器的简单文件上传。以下是我尝试过的。
eReaderBook.controller('browseCtrl',['$scope',"$http",function($scope,$http){
$scope.fileName ="";
$scope.imageName ="";
$scope.uploadFile = function(){
var data1 = new FormData();
data1.append('input_file_name', $('#fileName').prop('files')[0]);
data1.append('input_image_name', $('#imageName').prop('files')[0]);
if($scope.fileName!="" && $scope.imageName!="")
{
$http({
url: '/upload',
method: "POST",
data: data1
})
.then(function(response) {
console.log("success")
},
function(response) { // optional
console.log("failed")
});
}
};
}])
Node .js
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
app.use(multer());
app.post('/upload',function(req,res)
{
console.log("aaa");
res.send("hi")
});
但是当我向 nodejs 服务器发送请求时,它会抛出错误 Error: invalid json 解析时 (d:\MeanTest\node_modules\body-parser\lib\types\json.js:83:15)
我在这里做错了什么......
最佳答案
您的代码的问题是您传递的data
不是有效的json
,因此在处理时bodyParser.json()
,将抛出错误
。
您可以使用bodyParser.raw(options)
作为中间件
使用。 bodyParser.raw()
返回将所有主体解析为缓冲区的中间件。
关于ajax - 在 Nodejs 服务器上解析表单数据请求时出现错误无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31803324/