【问题标题】:PHP jQuery mobile listview links return "undefined"PHP jQuery 移动列表视图链接返回“未定义”
【发布时间】:2011-11-28 08:46:39
【问题描述】:

我是第一次使用 jQuery Mobile 框架。我已经从站点复制了示例代码以获取列表视图。根据文档,它应该进行 AJAX 调用,然后更新 DOM。

当我点击一个链接时,ajax 加载图标会正确弹出。然后页面重新加载,其中唯一的单词是“未定义”。

我正在使用 CakePHP,它已拉入我的移动布局。如果我重新加载页面,我会得到正确的页面视图。

谁能告知这个“未定义”消息的来源以及如何让它发挥作用?

谢谢, 安迪

编辑:包含代码

// mobile layout 
<div data-role="page" class="type-interior">            
    <div class="content-primary">
            <p><?php echo $content_for_layout; ?></p>
    </div><!-- /content -->    
</div><!-- /page -->


// gallery view
<div data-role="header">
    <h1>My heading</h1>
</div><!-- /header -->
<ul data-role="listview" data-filter="true">
<li><?php echo $this->Html->link('Gauteng',array('controller'=>'regions','action'=>'gallery',4)); ?></li>
    <li><?php echo $this->Html->link('Western Cape',array('controller'=>'regions','action'=>'gallery',1)); ?></li>
    <li><?php echo $this->Html->link('Eastern Cape',array('controller'=>'regions','action'=>'gallery',2)); ?></li>
    <li><?php echo $this->Html->link('Northern Cape',array('controller'=>'regions','action'=>'gallery',9)); ?></li>
    <li><?php echo $this->Html->link('Free State',array('controller'=>'regions','action'=>'gallery',3)); ?></li>
    <li><?php echo $this->Html->link('Mpumalanga',array('controller'=>'regions','action'=>'gallery',7)); ?></li>
    <li><?php echo $this->Html->link('Kwa-Zulu Natal',array('controller'=>'regions','action'=>'gallery',5)); ?></li>
    <li><?php echo $this->Html->link('North West',array('controller'=>'regions','action'=>'gallery',8)); ?></li>
    <li><?php echo $this->Html->link('Limpopo',array('controller'=>'regions','action'=>'gallery',6)); ?></li>
</ul>

单击其中任何一个都会导致页面显示“未定义”。它具有移动布局,但未读取正确的视图文件。

编辑: 谷歌搜索广泛发现了一个类似的问题answered here on stackoverflow 但是当我尝试更改 beforeRender 方法中的布局时,ajax 永远不会完成。我用 firebug 跟踪了网络流量,可以看到 http get 请求成功完成并返回正确的页面信息(整个页面)。然而,JQM 并未更新视图。

【问题讨论】:

  • 啊,正在输出的视图中有一个脚本。删除脚本让网站正常工作。
  • 很抱歉再次发表评论,但我又遇到了这个问题,并认为注意这里的解决方案可能会对人们有所帮助。第二次遇到问题是因为我使用的是 CakePHP,需要在我的视图文件顶部包含正确的 div 标签,以便 AJAX 调用能够检测到传入的内容。
  • 您可能希望将此作为答案发布并接受它,这样看起来就好像它确实是固定的。

标签: php jquery mobile


【解决方案1】:

我又遇到了这个问题,并认为注意这里的解决方案可能会对人们有所帮助。第二次遇到问题是因为我使用的是 CakePHP,需要在我的视图文件顶部包含正确的 div 标签,以便 AJAX 调用能够检测到传入的内容。

【讨论】:

    猜你喜欢
    • 2019-05-12
    • 2019-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-31
    • 2017-06-15
    相关资源
    最近更新 更多