ajax - 在 Nodejs 服务器上解析表单数据请求时出现错误无效

标签 ajax angularjs node.js

我正在处理从客户端到服务器的简单文件上传。以下是我尝试过的。

    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() 返回将所有主体解析为缓冲区的中间件。

引用:https://github.com/expressjs/body-parser

关于ajax - 在 Nodejs 服务器上解析表单数据请求时出现错误无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31803324/

相关文章:

javascript - 使用ajax从php获取数据

javascript - ajax 调用如何将数据返回给变量?

javascript - 在上下文菜单项单击上显示侧边栏/弹出窗口的最佳方式是什么?

mongodb - Heroku + Node.js + MongoHQ + Expressjs

javascript - Node.js 需要回调函数,但得到了一个 [object Object]

javascript - Angular2 Http 调用未触发

java - 从 Struts2 jquery Autocomplete 获取类型值

javascript - 自定义指令在 ng-if 中没有正确绑定(bind)第二次

AngularJS 嵌套 $http 调用

node.js - 有什么方法可以存储nodejs应用程序所做的所有交易吗?