无法从angularjs中发布表达式

unable to post to express from angularjs

本文关键字:表达式 angularjs      更新时间:2023-09-26

我正试图从我的angularjs前端发布一些数据到node.js - express服务器,我不认为我的post请求曾经到达我的服务器。

下面是一些基本的前端angularjs:

myApp.controller('myController', ['$scope', '$http', function($scope, $http){
    $scope.items = null;
    $http({method: 'POST', 
        url: 'http://localhost:5000/post', 
        data: 'some data'
    }).success(function(data){
        $scope.items = data;
        console.log(data);
    }).error(function(data, statusText){
        console.log(statusText + ': ' + data);
    });   
}]);

这是一个基本的后端:

var express = require('express');
var app = express();
app.post('/post', function(req, res){    
    console.log(req.url);
    console.log(req.method);
    console.log(req.body);
    res.end('some response data');
});
app.listen(5000);

但是,服务器没有记录从前端发送的任何数据。我不确定POST请求是否到达服务器,因为它没有将任何数据记录到控制台。如有任何帮助或建议,不胜感激。

检查标题

data = 'some data';
$http({
    host: "localhost:5000",
    port: "80",
    path: "post",
    method: "POST",
    headers: {
        //"User-Agent": "NodeJS/1.0",
        "Content-Type": "application/x-www-form-urlencoded",
        "Content-Length": data.length
    },
    data: data
});

可以添加$http.write(data);