【问题标题】:How to run a php script from javascript如何从 javascript 运行 php 脚本
【发布时间】:2014-10-13 06:15:22
【问题描述】:

我在一个基于 Web 的应用程序中同时使用 FaceBook 的 Javascript 和 PHP SDK。

当我的 Javascript 代码满足特定条件时,我需要运行 PHP 脚本。

PHP 中有代码可以检查用户是否已登录应用程序。如果用户没有登录,我会使用 Facebook 的 javascript 助手从 javascript sdk 中获取他们的会话数据并将其添加到数据库中,然后在应用程序上登录。

这很好用,直到我进行了一些测试并发现当我手动退出 FB 并且应用程序然后刷新应用程序时,Javascript 帮助程序返回 Null;导致错误 100(我假设这是一个访问令牌错误)。

我假设我可以通过仅在 javascript 代码的特定条件期间调用 PHP 代码来避免此错误(当用户通过 JS SDK 连接到应用程序时)。 Facebook 说您可以通过 AJAX 调用从您的 javascript sdk 访问您的 PHP sdk。他们没有提供任何进一步的信息,我对此很陌生。

我已经尝试过 JQuery AJAX $.Get 方法,它似乎可以工作,但它不能运行我的 PHP 代码?? 所以我一直在研究,发现.Load。但似乎我需要将它附加到 DIV?还有另一种方法吗?我只需要运行代码,仅此而已。

我没有向 PHP 代码发送数据或使用 AJAX 从 PHP 返回数据,只需要执行 PHP。

  function statusChangeCallback(response) {
console.log('statusChangeCallback');
console.log(response);

// for FB.getLoginStatus()
if (response.status === 'connected') {

  // Fire the PHP code 

} else if (response.status === 'not_authorized') {

  console.log('Please log into facebook...')
} else {

}

}

是否可以从 javascript 运行我的 php 文件,然后返回到 javascript 代码?

我应该寻找替代解决方案吗?

【问题讨论】:

  • 嗯,你能把你的代码(或类似的代码)放在这里,用更少的词解释你的问题吗?那很好啊。 :)
  • 我只是不完全理解 AJAX 是问题所在,如果它甚至是我正在寻找的解决方案。如何从 javascript 执行 PHP 文件? Facebook 表示使用 AJAX 调用从 javascript 调用 PHP。这就是我想要实现的目标: JS 检查它们的状态 >> 状态已连接 >> 触发 PHP >> 返回应用程序

标签: javascript php jquery ajax facebook


【解决方案1】:

执行 ajax 获取请求。你不必用它发送任何数据。 php代码将被执行。

$(document).ready(function(){
    $("button").click(function(){
        $.ajax({
            url:"the_url",
            success:function(result){
                $("#adiv").html(result);
            }
        });
    });
});

【讨论】:

  • 是否可以只执行代码而不将“结果”发送到 div?
【解决方案2】:

您不能直接在浏览器中运行 php 代码,您必须做以下两件事之一:

1。 AJAX(可能是正确的方式)

如果您在页面加载后需要当前信息而不重新加载页面,您可以从 javascript 进行 AJAX 调用。经典且可能最简单的方法是使用 jquery。基本上,您将创建一个 PHP 页面,该页面将简单地返回 JSON,其中 javascript 可以很容易地进行交互。

在 PHP 领域:

<?php
$someVar = "text that needs to be in javascript"
echo $someVar;
?>

回到 Javascript 领域:

var promise = $.getJSON("http://link_to_php_page.php");

promise.done(function(data) {
    console.log(data); 
    // this will return back "text that needs to be in javascript"
})

2。 PHP注入(可能是错误的方式)

使用 PHP 生成 JavaScript。这几乎可以肯定是不好的做法,但它确实适用于一些简单的事情。

<script>
   var textInJavascript = <?php echo 'text from php'; ?>;
</script>

注意:这仅在页面请求时间运行。所以基本上你在发送页面之前在 服务器 上生成 JavaScript 代码。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-07-10
    • 2012-03-14
    • 2018-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-11
    • 1970-01-01
    相关资源
    最近更新 更多