Rails jquery ajax请求没有触发

时间:2015-07-07 18:12:05

标签: javascript jquery ruby-on-rails ajax

在视图中:

<div>
  <%= radio_button_tag :profile_set, "Profile picture", true, onClick: "set_profile(#{picturething.id});" %>
</div>

<script type="text/javascript">
  function set_profile(picid) {
    alert("Hello.");
    $.ajax({
      type     : 'POST',
      url      : '/update_profile_picture', 
      dataType : 'script',
      data     :  { picid:picid, callsign:callsign, page_name:page_name }
    });
    alert("Goodbye.");
  };
</script>

routes.rb中:

post 'update_profile_picture', to: 'picturethings#update_profile', as: :update_profile_picture

我可以从浏览器控制台看到ajax请求没有触发,没有任何反应。出现“Hello”警报,因此代码至少执行了那么远,但在ajax位期间会丢失。 “再见”警报永远不会出现。

1 个答案:

答案 0 :(得分:1)

根据我在问题中的评论,您的ajax看起来不错......只需确保您已定义page_namecallsign

function set_profile(picid) {
  alert("Hello.");
  $.ajax({
    type     : 'POST',
    url      : '/update_profile_picture', 
    dataType : 'script',
    data     :  { picid:picid, callsign:callsign, page_name:page_name }
  });
  alert("Goodbye.");
};