将我的应用程序部署到Heroku后,它再也找不到我在Express中设置的API路径了。这段代码在本地完全正常,但是一旦它在Heroku中,我就会得到404 - Page Not Found错误。
这是路由器:
$('form').on('submit', function(e) {
e.preventDefault();
$.post('/api/submit', $('form').serialize(), function (data) {
$('#confirm-modal').modal('show');
});
});
它是通过jQuery POST提交的
require 'httparty'
body = {
"apiKey": 'xxx',
"country": 'IN',
"currency": 'INR',
"locale": 'en-GB',
"originplace": 'DEL',
"destinationplace": 'BLR',
"outboundDate": '2016-10-14',
"adults": 1,
"locationschema": 'Iata'
}
headers = { 'Content-Type' => 'application/x-www-form-urlencoded', 'Accept' => 'application/json'}
@response = HTTParty.post("http://partners.api.skyscanner.net/apiservices/pricing/v1.0/", :body => body,:headers => headers)
puts @response
puts "Response code #{@response.code}"
puts "Reponse header #{@response.headers['location']}"
@sessionKey = @response.headers['location']
sleep 1
@poll = HTTParty.get(@sessionKey.to_s, query: {apiKey: "xxx"})
puts @poll
puts "Polling #{@poll.parsed_response}"
我也没有看到Herokus日志中的任何错误。我可以在日志中看到它正在点击“/ api / submit”但没有任何反应。
更奇怪的是,我在另一个项目中使用了所有这些完全相同的代码并且工作正常¯_(ツ)_ /¯
任何帮助都会非常感激,因为我的想法已经用完了。
答案 0 :(得分:0)
我最终只是将它从“/ api / submit”移动到“/ submit”,现在它突然起作用了。不知道为什么会这样,但它解决了这个问题。