0

有没有办法在 javascript 中包含一些 php 文件onClick

喜欢,

if(isset(something)) ?
include "file.php";

请帮忙!

4

4 回答 4

5

不,那是 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 并在您的服务器上包含任何文件),然后包含它并再次呈现页面。

于 2012-08-02T13:56:50.100 回答
1

您可以简单地使用 jQuery 的load功能:

$("#elem").click(function()
{
    $("#placeToLoad").load("http://path/to/file");
}

@sachleen 他的方式与此相同,load只是抓取文件并将其放在给定位置,而不必处理成功功能等。如果load不成功,它不会做任何事情。

jQuery .load()

于 2012-08-02T14:04:36.003 回答
0

您不能包含 php 文件,因为它是无法在客户端执行的服务器端代码。

但是您实际上可以做的是使用 ajax 调用 file.php 并执行其内容,然后将结果附加到您的文档中。

于 2012-08-02T13:59:59.327 回答
0

当您使用 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'); 

};

于 2019-03-11T05:24:48.057 回答