我有一个php函数,它在加载build.php页面时运行并创建一个$变量。我也有save.php,它通过scripts.js中的ajax函数调用(通过POST发送数据),但我需要在save.php中使用$ variable。
有没有一种很好的方法可以通过ajax发送更多数据,而不会在前端看到它?
我想过为这个使用一个$ _SESSION变量,看起来它会起作用,但我知道它可能不完全可靠并且并不总是一个好主意(虽然这可能被夸大了where I was looking)
这是最好的方法吗?或者是否有其他方法可以通过javascript将PHP变量转换为另一个,而不是在前端代码中?
答案 0 :(得分:0)
如果您使用的是JQuery,它就像以下一样简单:
$.post({
url: somurlhere,
data: somedatahere
});
答案 1 :(得分:0)
会话变量仅存在于服务器上,而不存在于客户端上。为了保存由浏览器中的javascript函数生成的会话变量,您需要以某种方式将其传递给服务器。而且你可能已经意识到你对客户端发生的事情没有多少控制权。它们几乎可以改变你发送到服务器的任何帖子信息 - 有些程序可以很容易地做到这一点。
即使你使用ajax,客户端仍然可以搞乱你的变量。
您可以在发送之前尝试加密信息。
如果另一方面你想在服务器上运行的两个脚本之间传递变量,你可以使用会话变量明确地做到这一点。
的更新强> 的
您似乎在第一个脚本中创建变量,然后有一个调用第二个脚本的javascript函数,您需要第二个脚本来访问第一个脚本创建的变量。
在上面的场景中,您可以明确地使用会话变量。这是它们存在的主要原因。允许您在不同脚本之间传递信息。
第一个PHP脚本
session_start();
logic to create the variable
$_SESSION['myVar'] = $myVar;
rest of the script
的Javascript
calls second script / does not change the value of the variable
第二个PHP脚本
session_start();
$myVar = $_SESSION['myVar'];
execute second script
我希望这是有道理的。