gpt4 book ai didi

javascript - 如何从 javascript 运行 php 脚本

转载 作者:行者123 更新时间:2023-11-28 19:39:14 25 4
gpt4 key购买 nike

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

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

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

这很有效,直到我做了一些测试,发现当我手动退出 FB 和应用程序然后刷新应用程序时,Javascript 帮助程序返回 Null;导致错误 100(我认为这是一个访问 token 错误)。

我假设我可以通过仅在 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 代码?

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

最佳答案

您不能直接在浏览器中运行 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注入(inject)(可能是错误的方式)

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

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

注意:这仅在页面请求时间运行。因此,基本上,您是在向服务器发送页面之前在服务器上生成 JavaScript 代码。

关于javascript - 如何从 javascript 运行 php 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25395395/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com