为什么我的AJAX请求失败?

时间:2015-06-27 11:15:14

标签: ruby ajax coffeescript

我试图学习在Rails中使用AJAX。

这是我的客户端coffeescript代码:

$(document).ready ->
  $("#url").blur ->
    $.get("/test_url?url=" + $(this).val(), (data) ->
      alert("Response code: " + data)
    ).fail( () ->
      alert("Why am I failing?")
    )

这是我的服务器端Ruby代码:

  def url_response
    url = URI.parse(params[:url])
    Net::HTTP.get_response(url).code unless url.port.nil?
  end

正在调用Ruby代码并正确返回HTTP响应代码,但我无法对数据执行任何操作,因为客户端脚本表示调用失败。据我所知,它并没有失败。正在调用url_response,它正在返回一个值,那么究竟什么在这里失败?

1 个答案:

答案 0 :(得分:0)

问题是我删除了呈现响应的行。我之前有过,但多亏了Frederick Cheung的提示,检查URL是否直接在浏览器中工作,我意识到它不再像以前那样在浏览器中工作,这就是我没有做到的原因。想再检查一下!

下面的代码让一切恢复正常。

  def url_response
    url = URI.parse(params[:url])
    render :text => Net::HTTP.get_response(url).code unless url.port.nil?
  end