Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.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 https POST工作正常,但令人困惑地显示404错误_Angularjs - Fatal编程技术网

Angularjs https POST工作正常,但令人困惑地显示404错误

Angularjs https POST工作正常,但令人困惑地显示404错误,angularjs,Angularjs,从角度工厂到节点/快速路由的https帖子可以正常工作,但Chrome给了我一个404错误。 以下是angular factory的代码片段: userFactory.create = function(userid) { return $http.post('https://localhost:3443/api/users/' + userid); }; 这是路线 router.post('/:userid', function(req, res, done){

从角度工厂到节点/快速路由的https帖子可以正常工作,但Chrome给了我一个404错误。 以下是angular factory的代码片段:

userFactory.create = function(userid) {
        return $http.post('https://localhost:3443/api/users/' + userid);
    };
这是路线

router.post('/:userid', function(req, res, done){
    User.findOne({ userid: req.params.userid }, function(err, user) {
      if(err) {
        console.log(err);
      }
      if (!err && user !== null) {
        done(null, user);
      } else {
        user = new User({
          userid: req.params.userid
        });
        user.save(function(err) {
          if(err) {
            console.log(err); 
          } else {
            console.log("saving user ...");
            done(null, user);
          }
        });
      }
    });          
});

module.exports = router;
我在index.js中有以下cors代码:

app.use(function(req, res, next) {
  res.setHeader('Access-Control-Allow-Origin', '*');
  res.setHeader('Access-Control-Allow-Methods', 'GET, POST');
  res.setHeader('Access-Control-Allow-Headers', 'X-Requested-With,content-type, Authorization');
  next();
});
这是Chrome工具的输出:

POST https://localhost:3443/api/users/346455889030594 404 (Not Found) :3443/api/users/346455889030594:1

angular.js:12011 XHR finished loading: POST "https://localhost:3443/api/users/346455889030594".
和204的标题:

Request URL:https://localhost:3443/api/users/346455889030594
Request Method:OPTIONS
Status Code:204 No Content
Remote Address:[::1]:3443
Response Headers
view source
Access-Control-Allow-Headers:authorization
Access-Control-Allow-Methods:GET,HEAD,PUT,PATCH,POST,DELETE
Access-Control-Allow-Origin:*
以及404的标题:

Request URL:https://localhost:3443/api/users/346455889030594
Request Method:POST
Status Code:404 Not Found
Remote Address:[::1]:3443
Response Headers
view source
Access-Control-Allow-Headers:X-Requested-With,content-type, Authorization
Access-Control-Allow-Methods:GET, POST
Access-Control-Allow-Origin:*

有人能告诉我如何纠正这个错误吗。正如我所说,post可以工作,但红色错误消息会在原力中造成干扰。

您正在检查express应用程序的控制台输出吗?@Phil yes,提供选项/204和post/204。这篇文章正在进行中,express没有看到任何错误,但Chrome确实看到了。感谢您的路由中只有
/:userid
,您的路由器基础是什么?我在index.js app.use('/api/users',users)中设置了它;您是否正在检查express应用程序的控制台输出?@Phil yes,提供选项/204和POST/204。这篇文章正在进行中,express没有看到任何错误,但Chrome确实看到了。感谢您的路由中只有
/:userid
,您的路由器基础是什么?我在index.js app.use('/api/users',users)中设置了它;