在jQuery单击中运行php函数

我如何在jQuery单击事件中运行PHP函数。 我有以下哪些不正确。 当用户点击按钮时,我想要一个新的直接创建。

$('button').click(function(){  return false; }) 

你不能在jquery函数中运行PHP。 PHP在服务器端运行,而jquery / javascript在客户端运行。 但是你可以使用jquery请求一个php页面,并在该页面中使用PHP代码运行你想要的mkdir。

JS:

 $.ajax({ url: 'test.php', success: function(data) { alert('Directory created'); } }); 

test.php文件:

   

首先,你应该了解php是如何工作的(没有冒犯,但这是必不可少的)。 为什么PHP脚本在Web浏览器中不起作用? 要完成你需要的东西,你必须使用ajax(使用javascript在服务器上请求脚本)

PHP文件(createdir.php):

  

JavaScript代码:

 $('button').click(function() { $.ajax({ url: 'createdir.php', success: function(){ alert('dir created'); } }); return false; }); 

我没有validation代码是否真的有效。 如果您遇到任何问题,您应该查看jquery文档(它很棒:-)) http://api.jquery.com/jQuery.ajax/

您正在混淆客户端和服务器端代码。 当用户单击按钮时,PHP代码已在服务器上执行,因此不会发生任何事情。 您可以使用xmlhttprequest(或ajax)。

只需执行ajax请求然后执行PHP服务器端:

 $('button').click(function(){ $.ajax({url: 'mkdir.php'}); return false; }) 

和PHP:

  

这就是你所需要的一切。

为什么不在服务器端调用ajax函数? 你可以这样做:

 $('button').click(function() { $.ajax ({ type: "POST", url: "some.php", data: "val1:value&lvaln:valn", success: function(msg) { alert( "Data Saved: " + msg ); } }); return false; }); 

文档在这里

尽量不要将PHP代码嵌入到html中。 如果你能避免这种做法,那就更好了。

希望能帮助到你

JavaScript – 客户端。

PHP – 服务器端。

您需要发出某种类型的AJAX调用才能与服务器通信。 JavaScript无法在远程服务器上创建目录(否则这将是一个巨大的安全漏洞)。

你必须做:

 //mkdir.php    

您可以从支持AJAX的框架中受益匪浅。

作为Agile Toolkit的作者,我建议你尝试一下,代码看起来像这样:

 $button=$page->add('Button'); if($button->setLabel('Create Directory')->isClicked()){ if(mkdir('/tmp/123', 0777, true)){ $button->js()->univ()->alert('Directory Created'); // executes JS code }else{ $button->js()->univ()->alert('Problem'); // executes JS code } } 

其他框架可能提供其他方法来简化AJAX并将其保存在一个文件中。

Buddy,首先要了解jquery是客户端编程语言,它运行在客户端浏览和Php运行在webserver上。将php代码复制到php文件并使用jquery创建对php文件的请求

 $.ajax();