$ .get请求无法在ios设备上本地工作

时间:2013-10-01 01:44:11

标签: javascript ios ruby-on-rails ajax coffeescript

虽然关于ajax请求和iOS的问题已经有了很好的记录,但我似乎找不到任何修复我的简单$ .get问题的东西。请注意这是一个rails应用程序,在本地计算机上工作。

下面是一些coffeescript,用于获取用户通知并将其显示在div中。这适用于本地的所有内容,包括访问本地IP地址时的kindle(下面的代码省略了真正的IP),但不在任何iOS设备上。

我尝试将绝对路径添加为网址而不是/activites/notifications。我也把它写成了一个AJAX和$ .get请求,但是在iOS上都没有。

如何让以下GET请求在iOS设备上本地运行?

获取请求

jQuery ->
      arr = []
      $("#notifications").click ->
        arr.push(1)
        if arr.length <= 1
          $.get("http://68.40.3.2:3000/activities/notifications", (data) ->
             $("#notifications-area").html data )

AJAX请求

jQuery ->
  arr = []
  $("#notifications").click ->
    arr.push(1)
    if arr.length <= 1
     $.ajax({
       url: "http://68.40.3.2:3000/activities/notifications",
       cache: false,
       timeout: 100000,
       type: "GET",
       error: -> alert("didnt work")
       success: (data) ->
            $("#notifications-area").html data
    })

如果有人需要更多代码,请大声喊。

1 个答案:

答案 0 :(得分:0)

似乎引导程序是罪魁祸首。我正在使用传统的bootstrap导航栏和下拉元素。具体而言,锚链接中的.dropdown类和data-toggle元素以某种方式导致记录无法加载/不显示。如果有人知道为什么会发生这种情况或者从bootstrap更新,那么听到它会很棒。目前我就是如何解决这个问题的。

Navbar结构。从锚标记中删除了数据切换和下拉类。

<li class="dropdown">
  <a id="notifications" href="#" class="<%= number_of_activities(current_user) > 0 ? 'new-notifications' : '' %>" title="Notifications">
      <div class="notifications-count large" id="">
        <%= number_of_activities(current_user) %>
      </div>
  </a>
  <ul class="dropdown-menu span6" id="notifications-area">
  </ul>
</li>  
在记录加载之前,

notifications.js.coffee仍然期望切换通知区域,并且当您在通知区域外单击时,stopPropagation调用以便关闭div

 jQuery ->
   arr = []
    $("#notifications").click (e) ->
      arr.push(1)
      e.stopPropagation()
      $('#notifications-area').toggle()
      if arr.length <= 1
        $.get("/activities/notifications", (data) ->
          $("#notifications-area").html data )

 $('#notifications-area').click (e) ->
    e.stopPropagation()

 $(document).click ->
    $("#notifications-area").hide()