【问题标题】:How to execute external php from Javascript?如何从 Javascript 执行外部 php?
【发布时间】:2013-03-21 07:56:28
【问题描述】:

我正在开发一个 javascript 应用程序,我将事情组织如下:

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

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

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

编辑 只是为了测试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>';
?>

我可以看到“ok delete”和“happy ending”消息,并且页面重新加载,但根本没有“here we are with php”……我哪里错了?

【问题讨论】:

  • 简单使用ajax从javascript调用php页面..

标签: php javascript mysql


【解决方案1】:

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

您可以为此目的使用AJAX

【讨论】:

    【解决方案2】:

    例如:用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。 在我的情况下,响应者是 HTML 格式,您可以根据需要设置它.. 在这里阅读 - http://api.jquery.com/category/ajax/

    【讨论】:

    • 只是为了测试 pourpose 我已经实现了以下几行:
    【解决方案3】:

    为这个简单的事情创建一个完整的 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']
    

    【讨论】:

    • 嗯,是的,不是的;首先谢谢你,老实说,这是我真正需要的,将变量传递给本地 php,但我不想使用表单...所以我正在考虑构建一个外部 php 函数库来调用参数......完全卡在这里......
    • @RobertoAlfieri 这就是我建议这个答案的原因。但我想我需要知道你的 HTML 标记,所以我可以给你发送一个工作示例 :)
    • 我在上面放了一些代码,所以它可能会有所帮助......非常感谢!
    猜你喜欢
    • 1970-01-01
    • 2013-05-09
    • 2014-10-11
    • 2014-11-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-12
    • 1970-01-01
    • 2018-10-15
    相关资源
    最近更新 更多