jquery - mobile_fu 通过 AJAX 渲染所以看起来

标签 jquery iphone ruby-on-rails

我的 Controller 呈现常规 html、mobile_fu 和 javascript,如下所示:

respond_to do |format|
  format.html {
    render :action => "full", :layout => "application" and return
  }
  format.mobile {
    render :action => "full", :layout => "application" and return
  }
  format.js {
    render :partial => "content", :layout => false and return
  }
end

常规 html 渲染效果很好,在网站的 html 版本中使用 AJAX 效果很好,但在移动浏览器上使用 AJAX 似乎总是渲染 format.mobile block 。我在将其绑定(bind)到按钮的单击事件时使用 jQuery,并且我在 iPhone 上的测试总是最终渲染上面的 format.mobile block 。

$.ajax({
          beforeSend      : function(request) { request.setRequestHeader("Accept", "text/javascript"); },
          success         : function(response) {
            $("#content").append(response);
          },
          type            : 'GET',
          url             : url, //set somewhere else
          data            : data //set somewhere else
      });

是 jQuery 没有捕获点击事件(iPhone 的怪癖吗?)还是 mobile_fu 负责并且在这里有点霸道?有人已经解决了这个问题或者看看我缺少什么吗?

最佳答案

查看 the code for mobile_fu 显示任何传入的移动请求都将设置为移动。将第 73 行更改为类似这样的内容可能会起作用:

if is_mobile_device? && !request.xhr?

关于jquery - mobile_fu 通过 AJAX 渲染所以看起来,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1322455/

相关文章:

javascript - 为什么显示 SELECT 值没有改变?

javascript - 如何使用 jquery 根据第一次点击获取下一个元素的值

iphone - CCSprite 降低性能

iphone - 如何在具有视网膜显示图形的 iPad 上显示 iPhone 应用程序?

ruby-on-rails - 在这种情况下使用 Redis 合适吗?

javascript - JQuery:在 cakePHP 中验证失败后如何保存动态添加的表单输入

javascript - 页面刷新后如何保留我的输入

ios - UIButton 背景图像调整大小

javascript - 如何从 Ruby on Rails 辅助方法返回 javascript?

mysql - 使用 Ruby on Rails 与数据库 mysql 的可视化界面