2013-04-09 5 views
-2

У меня есть приложение Rails, которое выполняет запрос ajax на другой веб-сайт, когда пользователь нажимает кнопку. На localhost это работает отлично, но в heroku это не так. Он вернется "We're sorry, but something went wrong." (500), и вот журналыAjax запрос на другие сайты не работает на heroku

Processing by HomeController#some_request as */* 
2013-04-09T12:42:33.050720+00:00 app[web.1]: Parameters: {"q"=>"another_web_site.com"} 
2013-04-09T12:42:33.048011+00:00 app[web.1]: Started POST "/ajax/some_request" for 180.183.158.162 at 2013-04-09 12:42:33 +0000 
2013-04-09T12:42:29.793791+00:00 heroku[router]: at=info method=GET path=/assets/application.js host=my_host.org fwd="180.183.158.162" dyno=web.1 connect=1ms service=5ms status=304 bytes=0 
2013-04-09T12:42:54.057280+00:00 app[web.1]: 
2013-04-09T12:42:54.057280+00:00 app[web.1]: Errno::ETIMEDOUT (Connection timed out - connect(2)): 
2013-04-09T12:42:54.057280+00:00 app[web.1]: 
2013-04-09T12:42:54.057280+00:00 app[web.1]: 
2013-04-09T12:42:54.057280+00:00 app[web.1]: lib/domain_info.rb:14:in `who_is' 
2013-04-09T12:42:54.057280+00:00 app[web.1]: app/controllers/home_controller.rb:8:in `who_is' 
2013-04-09T12:42:54.055802+00:00 app[web.1]: Completed 500 Internal Server Error in 21004ms 
2013-04-09T12:42:54.059787+00:00 heroku[router]: at=info method=POST path=/ajax/some_request host=my_host.org fwd="180.183.158.162" dyno=web.1 connect=2ms service=21017ms status=500 bytes=643 

Теперь тайм-аут. Вчера вчера было https://devcenter.heroku.com/articles/error-codes#h18-request-interrupted, где sock field было равно client.

Почему это происходит?

+0

Как я понимаю, вызов ajax - это соединение между браузером и «другим сайтом». Итак, почему вы думаете, что герою здесь важна? –

+0

Сайт работает, но вызов ajax - нет. –

ответ

0

Независимо от того, что делает ваше приложение в lib/domain_info.rb, вы теряете время - вы уверены, что код работает из других мест, кроме вашего компьютера/локального? Что делает этот код? Обмен будет полезен.

+0

Почему это не должно работать? Я не проверял, но должен. –

+0

Я не знаю, вы должны поделиться этим кодом domain_info, чтобы мы имели представление о том, что он пытается сделать, а затем подумайте, почему это не сработает из Heroku. – pat

+0

просто отправляет HTTP-запрос и ничего больше. –

Смежные вопросы