繁体   English   中英

如何从Javascript执行外部php?

[英]How to execute external php from Javascript?

我正在使用javascript应用程序,并且已将事情整理如下:

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

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

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

编辑只是为了测试目的,我已经按照建议实现了以下代码:

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在这里” ...我在哪里错?

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

您可以为此目的使用AJAX

一个完整的Javascript库,完全可以解决这个问题。 在这里看看这个:

html变量到同一页面中的php变量

这个答案几乎就是您在寻找的东西:)

<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']

例如:使用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页面上,您可以从URL中捕获GET参数,并根据它们进行查询并返回RESPONDE。 在我的情况下responde是HTML格式,你可以将其设置为你想要的..了解,在这里- http://api.jquery.com/category/ajax/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM