如何从Javascript执行外部PHP?

时间:2013-03-21 07:56:29

标签: php javascript mysql

我正在开发一个javascript应用程序,我已经组织了以下内容:

  • 屏幕上显示一个表格(表格来自MySQL数据库)
  • 用户做出决定,可能是删除一行表,点击图标(不是表格)
  • 想要使用像<<tabledelete.php?codetokill='XXXXXX'>>
  • 这样的sintax启动外部php文件
  • 刷新原始页面

不幸的是我无法找到调用外部php的正确方法,有些工作但我无法返回主页,依此类推

有人可以给我一些建议吗?我使用了错误的方法吗? TY适用于所有人。

EDIT 仅仅为了测试pourpose,我按照建议实现了以下代码:

JAVASCRIPT (this is a funcion called bay a button with onclick option)
function fn_deleterow(numrig,cod,descr) {
    messaggio="Hai deciso di eliminare ("+numrig+") "+cod+" - "+descr;
    var scelta = confirm(messaggio);
    if (scelta) {
        document.write('Ok delete')
        $.ajax({
        url: "PHPTest.php",
        type: "POST"
        })
        document.write('Happy ending')
        document.location.reload(true)
    }
}

PHP FILE
<?php
echo 'HERE WE ARE WITH PHP<abr>';
?>

我可以看到“确定删除”和“快乐结局”消息,并且页面重新加载,但没有“这里我们用PHP”...我错在哪里?

3 个答案:

答案 0 :(得分:1)

Javascript是客户端语言,其中PHP是服务器端。您可以在PHP中的页面中调用Javascript个变量。但你不能使用Javascript执行一些PHP代码。因为PHP仅在服务器中执行。 Javascript无法与Server通信。它只能与浏览器一起使用。

您可以将AJAX用于此目的。

答案 1 :(得分:0)

这个简单的东西的完整Javascript库可能是一个完全矫枉过正。在这看看这个:

<强> html variable to php variable in same page

这个答案几乎就是你要找的东西我想:)

<script>
var foo = function(variable_to_be_passed_to_php){
  var img = document.createElement('img');
  img.style.width='1px';img.style.height='1px';img.style.position='absolute';img.style.top='-1px';img.style.left='-1px';
  img.src='putYourPHPfileHere.php?myValue='+variable_to_be_passed_to_php;
  img.onload = function(){document.body.removeChild(this);};
  document.body.appendChild(img);
};
</script>

并在你的表格中执行以下操作:

<td onclick="foo(1234)">

或     

putYourPHPfileHere.php 中的

你可以通过

检索价值
$_GET['myValue']

答案 2 :(得分:0)

例如:使用Jquery / ajax请求:

$(document).on("click", "a.myclass", function(e){
    e.preventDefault();
    var send_uri = $(this).attr("href");
    $.ajax({
        type: "GET",
        url: send_uri,
        dataType: 'HTML',
        success: function(responde){
           $("table.mytable").html(responde);
        }
    });     
});

在test.php页面上,您可以从网址中捕获GET参数,并根据它们进行查询并返回RESPONDE。 在我的情况下,response是HTML格式,您可以根据需要进行设置..在此处阅读 - http://api.jquery.com/category/ajax/