javascript包含onclick文件

时间:2012-08-02 13:54:58

标签: php javascript include onclick

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

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

请帮忙!

4 个答案:

答案 0 :(得分:5)

没有。这是PHP语法。 PHP在服务器上完全执行,结果将发送回客户端。点击是在客户端。 Javascript处理这些。你不能把两者混在一起。

但是,您可以使用AJAX向服务器发出文件请求,并使用JS显示其内容。 jQuery有一个名为.ajax()的简单方法,用于此

$.ajax({
  url: 'file.php',
  success: function(data) {
    $('#result').html(data);
    alert('Load was performed.');
  }
});

此方法将加载file.php的内容,并在ID为result的元素中显示。

另一种选择是提交表格。您将文件的名称放在隐藏的表单字段中并单击,然后提交表单。 PHP获取该信息,您从$_GET[]$_POST[]读取文件的名称,确保它有效(不希望某人能够修改您的HTML并在您的服务器上包含任何文件)然后包含它并再次呈现页面。

答案 1 :(得分:1)

您可以简单地使用jQuery的load函数:

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

@sachleen他的方式与此相同,只有load只抓取文件并将其放在给定的位置,而不是必须处理成功函数等。如果load没有成功,它什么都不做。

jQuery .load()

答案 2 :(得分:0)

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

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

答案 3 :(得分: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'); 

};