在 jQuery 中附加外部 PHP 文件
Posted
技术标签:
【中文标题】在 jQuery 中附加外部 PHP 文件【英文标题】:Appending external PHP file in jQuery 【发布时间】:2019-03-14 06:14:18 【问题描述】:我指的是一个已回答的问题here。
尝试将外部 php 文件附加到 jQuery 并尝试load
。
$(".chatbox").load("./one.php");
这给了我输出;
您的成功讯息!
但令人担忧的是,这会删除正文中的所有 html,并且不会真正'附加'成功消息。
我尝试了以下方法。
$(".chatbox").append("./one.php");
它只是打印这个!
./one.php
我错过了什么吗?
【问题讨论】:
load()
替换所选元素的全部内容。听起来您只需将 .chatbox
选择器更改为较低级别的元素。如果您想追加内容,则需要使用 $.ajax()
手动检索值并使用 append()
手动检索。
append()
怎么知道./one.php
是一个文件?
您需要$.get()
并在成功回调中使用$.append()
。但是请仔细阅读所有这些功能的 jquery 文档(load
、get
、append
)。他们非常清楚,很可能会解决您的问题,或者至少可以帮助您提出更具体的问题。
@giorgio 有道理!
阅读this、this和this,这将是有意义的
【参考方案1】:
.load()
从服务器加载数据并将返回的 HTML 放入匹配的元素中。但是你需要使用$.ajax()
或$.get()
来获取数据并返回到回调函数中。
$.get("./one.php", function(data)
$(".chatbox").append(data);
);
【讨论】:
【参考方案2】:如果您尝试加载的页面由于某种原因而失败,您还需要处理错误块以通知您该问题。这是一种更全面的方法。这里我调用了一个 wiki 页面,但你会知道,所有的 php 页面实际上都被 PHP 引擎解释为有效的 html :)
$.ajaxPrefilter( function (options)
if (options.crossDomain && jQuery.support.cors)
var http = (window.location.protocol === 'http:' ? 'http:' : 'https:');
options.url = http + '//cors-anywhere.herokuapp.com/' + options.url;
);
$.ajax(
type: "GET",
url: "https://en.wikipedia.org/wiki/PHP",
data: ,
success: function(data)
$('#demo').html(data);
,
error: function(XMLHttpRequest, textStatus, errorThrown)
$('#demo').html("Status: " + textStatus + "<br/>Error: " + errorThrown);
);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="demo"></div>
【讨论】:
以上是关于在 jQuery 中附加外部 PHP 文件的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 PHP 将文本附加到特定标签内的外部 html 文件?
将 PHP 变量传递给外部 JavaScript(或 jQuery)文件的最有效方法