Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs Node.js w/Express未接收来自Angular应用程序的请求_Angularjs_Node.js - Fatal编程技术网

Angularjs Node.js w/Express未接收来自Angular应用程序的请求

Angularjs Node.js w/Express未接收来自Angular应用程序的请求,angularjs,node.js,Angularjs,Node.js,按下“发送”按钮时,我试图从Angular app controller执行GET请求,如下所示: var config = { method: 'GET', url: '/sendmail', params: { from: $scope.name, email: $scope.email, message: $scope.message } }; $http(config).then(function (res) { console.log("t

按下“发送”按钮时,我试图从Angular app controller执行GET请求,如下所示:

var config = {
  method: 'GET',
  url: '/sendmail',
  params: {
    from: $scope.name,
    email: $scope.email,
    message: $scope.message
  }
};

$http(config).then(function (res) {
  console.log("this message is successfully printed!");
});
在我的Node.js Express应用程序中,我有:

app.get('/sendmail', function (req, res) {
  // This should print, but never does.
  console.log("Got mail!");
});

为什么您认为即使Angular应用程序正在发送呼叫,Express函数也没有接听呼叫?

也许您在服务器代码的某个地方设置了为所有请求提供“index.html”服务(SPA的正常做法)?您应该确保您的代码处理
GET/sendmail
放在服务
index.html

的代码之前。您的URL在角度脚本中是
/send
,而在Express中是
/sendmail
。否。。。对不起,我在代码中做得很正确。。我只是打错了。感谢您的通知。您是否尝试将请求发送到应用程序外部的服务器?e、 g.直接在浏览器中访问它?@bartekbr是的,我直接在浏览器中尝试过。。。。但它仍然没有调用函数。。。在我看来,我的角度用户界面路由器interfering@bartekfr我只是试着向邮递员提出请求。。。我很惊讶地看到,我得到了我的整个网页HTML回来!这可能会告诉我们一些事情……哦,太棒了!这正是问题所在!非常感谢你,伙计。然而,你能告诉我一件事。。。
app.use
app.get
之间有什么区别。因为,在我的节点app.js中,我使用的是
app.use(function(req,res){res.sendFile(path.join(uu dirname,'/index.html'));})。。。使用
app.get('/',function(req,res){res.sendFile(path.join(uu dirname,'/index.html'));}会有什么不同吗相反?-这是针对中间件的,比如为每个请求做一些特定的事情。我很高兴我能提供帮助:)关于
use
get
之间的差异,请检查以下答案:@BartekFryzowicz是的,非常肯定。:)