【问题标题】:.load() function won't load javascript.load() 函数不会加载 javascript
【发布时间】:2016-05-17 13:59:42
【问题描述】:

当我使用.load()函数时,它会在选中的div中加载我要加载的页面。

但是当我想使用已经在其他文件中编码的 JavaScript/jQuery 时,它就不再起作用了。

当我只是 include ''; div 中的静态页面时,它确实有效。

有人知道为什么会这样吗?

静态:

<div id="loginCont" class="modal-body">
    <?php
    include 'login.php';
    ?>
</div>

通过 Javascript/jQuery

$("#memberFalse").on("click", function() {
    $('#loginCont').load("/213server/_inc/login.php");
});

【问题讨论】:

  • 可能路径不正确。 .load("/213server/_inc/login.php");
  • 在构建页面时,两个选择器是否都正确获取了各自的元素?尝试记录它们的大小。
  • #memberFalse 在您要添加点击处理程序之前是否存在? js在哪里?是在$(document).ready(..还是#memberFalse元素之后
  • 记住include()从你的服务器根目录开始,load()从你WEB服务器的根目录开始。
  • php include 以“/”开头的指的是服务器的根目录。以“/”开头的 Load() 从 Web 服务器的根目录开始。 Javascript(或 jQuery)在 Web 根目录之外无法访问。

标签: javascript php jquery html load


【解决方案1】:

以“/”开头的 PHP 包含指的是服务器的根目录,除非您的 php.ini 文件中另有说明。你的代码:

<div id="loginCont" class="modal-body">
  <?php
  include 'login.php';
  ?>
</div>

从当前页面所在的文件夹中获取“login.php”。您可以通过以下方式显示该位置:

<?php echo __DIR__  ?>

您的 jQuery load() 方法也应该从该位置获取页面“login.php”。以下路径明显有错误:

$('#loginCont').load("/213server/_inc/login.php");

请记住,Javascript/jQuery 无法获取 Web 根目录之外的文件,但 PHP 可以。例如,如果您的 login.php 文件位于“/var/_inc/login.php”并且您的 Web 根目录位于“/var/www/”,则 jQuery 将永远无法访问 login.php。如果您的 login.php 文件位于“/var/www/myproject/_inc/login.php”,那么您的 load() 函数应该像这样获取它:

$('#loginCont').load("/myproject/_inc/login.php");

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-30
    • 2012-07-03
    • 1970-01-01
    • 1970-01-01
    • 2010-10-27
    相关资源
    最近更新 更多