Openshift中的Ajax调用引发404错误

时间:2015-05-22 14:41:06

标签: ajax http-status-code-404 openshift

我正在尝试在Openshift上的应用程序中进行简单的Ajax调用。这是我的ajax调用,它是通过按下按钮触发的:

$.ajax({
   url: 'http://my-site-name.rhcloud.com/asciimo',
   method: 'POST',
   data: {attr:"value"}
});

这是我的server.js文件中的节点:

self.createRoutes = function() {
    self.routes['/asciimo'] = function(req, res) { 
         res.send('done');
    };
};

当我访问my-site-name.rhcloud.com/asciimo时,一切正常,但如果我点击一个按钮(到达那里),我会得到:

POST http://my-site-name.rhcloud.com/asciimo 404 (Not Found)

即使该链接显然可以自行运行。

2 个答案:

答案 0 :(得分:1)

将您的方法更改为GET

method: 'GET',

当您直接在浏览器中访问URL时,您将发出GET请求,而不是POST。

答案 1 :(得分:0)

我知道现在的问题是什么。在ajax中有一个POST请求,self.routes['/asciimo'](由Openshift作为模板给出)仅处理GET请求。解决问题的方法就是将我的函数重写为单独的POST函数:

self.addpost = function() {
  self.app.post('/asciimo', function(req, res){
    res.send('done');
  });
};