如何通过jQuery将PHP文件加载到DIV中?

IT技术 php javascript jquery ajax
2021-02-17 00:35:54

我正在开发一个网站,我在侧面菜单上有这个:

<a href="#" class="leftMenu" id="contact">Contact Us</a>

然后我有这个脚本

$(document).ready(function(){
  $("#contact").click(function(){
    $("#contents").load('home.php');
  });
});

我的页面中有这个 DIV:

<div class="contentWrapper" id="contents"></div>

显然,我想要做的是在单击“联系我们”超链接时加载 home.php,但这是行不通的。我的代码有什么问题?

4个回答

添加home.php页面 url 而不是文件名。

$(document).ready(function(){
  $("#contact").click(function(){
    $("#contents").load('url to home.php');
  });
});
如何通过单击按钮在两个不同的 div 中加载两个不同的页面?
2021-04-24 00:35:54
是的,相对 URL 应该可以工作。尝试使用/home.php?
2021-04-25 00:35:54
加载剂量后,它会从目标页面获取 CSS 样式吗?
2021-05-01 00:35:54
谢谢,出于一些奇怪的原因,它起作用了!但我想知道为什么没有 URL 就不能工作。应该是一样的吧?
2021-05-07 00:35:54

您可以$.load()像这样使用,以获取有关正在发生的事情的更多数据。当你看到错误信息时,你可能可以自己解决^^

$("#contents").load("home.php", function(response, status, xhr) {
  if (status == "error") {
      // alert(msg + xhr.status + " " + xhr.statusText);
      console.log(msg + xhr.status + " " + xhr.statusText);
  }
});

@user2805663 我知道这篇文章已经很旧了,但尽管让我发布解决方案,但它可能会帮助其他人,因为它帮助了我。

感谢@Mangala Edirisinghe

通过以下方法,您可以通过单击(链接)在两个不同的 DIV 中加载两个单独的文件。

$(document).ready(function(){ 
 $("#clickableLink").click(function(){ 
  $("#contents").load('url/file1.php');
  $("#contents2").load('url/file2.php'); 
 }); 
});
它是否也保持了 css 样式?
2021-05-13 00:35:54

您必须使用索引目录中的“ home.php路径,而不是脚本目录中的路径

如果您的网站是:

/
  index.php  
  scripts
     /script.js 
     /home.php

你必须修改你的参数传递“ scripts/home.php