[英]Call Ajax from PHP
我想在 php 文件中进行 ajax 调用。 (最终目标是获得一个localStorage)。 如果我很好理解,我将从 php.ini 中的开始会话开始。
<?php
session_start();
?>
然后,ajax 调用另一个 php 文件。
<script>
src="jquery.js";
var variableToSend = 'foo';
$.ajax({
type: "post",
async : false,
url: "/login_getStorage.php",
data: { variable: variableToSend }
});
</script>
在这个文件 php login_getStorage.php 我只有
<?php
$_SESSION['toto'] = "titi";
如果我很好理解,变量 $_SESSION['toto'] 应该用“titi”初始化
所以在主文件中 :( 所以在脚本之后)
<?php
echo($_SESSION['toto'] );
我以为它会显示“titi”。 但我有错误 PHP 通知:未定义索引:toto
好像我的ajax调用没有完成
我们如何做这个ajax调用?
此致。
在这个文件 php login_getStorage.php 我只有
<?php $_SESSION['toto'] = "titi";
您需要先调用session_start()
然后才能在任何 PHP 文件中使用$_SESSION['toto']
。
您的 Ajax 调用可能工作得很好,但由于您正在编辑不存在的会话内容,因此它没有达到您想要的效果。
PHP
在解析任何javascript
之前在服务器上运行。
有几个问题:
JS
错误? 尝试将success
添加到您的ajax
:
success: function(data){
// when success
}
您的PHP
在您的ajax
调用之前运行,因此页面加载时不存在该值。
您还可以返回一个值,而不是在PHP
页面上分配一个值。
<script>
src="jquery.js";
var variableToSend = 'foo';
$.ajax({
type: "post",
async : false,
url: "/login_getStorage.php",
data: { variable: variableToSend },
success: function(data){
// when success display data
alert(data); // alert the session value
}
});
</script>
然后你的login_getStorage.php
:
<?php
session_start();
$_SESSION['toto'] = "titi";
echo $_SESSION['toto'];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.