有没有办法在 javascript 中包含一些 php 文件onClick
?
喜欢,
if(isset(something)) ?
include "file.php";
请帮忙!
有没有办法在 javascript 中包含一些 php 文件onClick
?
喜欢,
if(isset(something)) ?
include "file.php";
请帮忙!
不,那是 PHP 语法。PHP 完全在服务器上执行,并将结果发送回客户端。点击在客户端。Javascript 处理这些。你不能把两者混为一谈。
不过,您可以使用 AJAX 向服务器发出文件请求并使用 JS 显示其内容。.ajax()
jQuery 有一个为此调用的简单方法
$.ajax({
url: 'file.php',
success: function(data) {
$('#result').html(data);
alert('Load was performed.');
}
});
此方法将加载 id 的内容file.php
并将其显示在具有 id 的元素中result
。
另一种选择是提交表格。您将文件的名称放在隐藏的表单字段中,然后单击,提交表单。$_GET[]
PHP 获取该信息,您从or读取文件名$_POST[]
,确保它有效(不希望有人能够修改您的 HTML 并在您的服务器上包含任何文件),然后包含它并再次呈现页面。
您可以简单地使用 jQuery 的load
功能:
$("#elem").click(function()
{
$("#placeToLoad").load("http://path/to/file");
}
@sachleen 他的方式与此相同,load
只是抓取文件并将其放在给定位置,而不必处理成功功能等。如果load
不成功,它不会做任何事情。
您不能包含 php 文件,因为它是无法在客户端执行的服务器端代码。
但是您实际上可以做的是使用 ajax 调用 file.php 并执行其内容,然后将结果附加到您的文档中。
当您使用 jQuery load() 方法向文件发出请求时,它会像通过浏览器的任何常规请求一样发送数据。它不知道您现有的任何 PHP 变量,除非您将它们与您的 ajax 请求一起作为数据传递。
function sendAJAX(){
$('#container').load(
"stuff.php", // url
{ // json object of data to pass to the page
stuff: "all your stuff goes in here...",
moreStuff: "even more stuff"
});
console.log('sendAJAX');
};