Javascript 如何将数据从php页面发送到ajax页面
我有这段代码,现在我想把这个$\u SESSION['roll\u id']变量发送到另一个page menu.php,在那里编写ajax函数。如何将此变量发送到另一个ajax页面以获取集合数据 这是login.php页面Javascript 如何将数据从php页面发送到ajax页面,javascript,php,sql,ajax,Javascript,Php,Sql,Ajax,我有这段代码,现在我想把这个$\u SESSION['roll\u id']变量发送到另一个page menu.php,在那里编写ajax函数。如何将此变量发送到另一个ajax页面以获取集合数据 这是login.php页面 if($row["Login_Id"]==$username and $row["Login_Pass"]==$password) { echo "<h2 align='center'>" ."Login Sucessfull welcome" ." " .$ro
if($row["Login_Id"]==$username and $row["Login_Pass"]==$password)
{
echo "<h2 align='center'>" ."Login Sucessfull welcome" ." " .$row["Login_Id"]
."</h2>" ;
$_SESSION['roll_id']=$row['Roll_Id'];
//echo "ID" .$_SESSION['roll_id']; (give roll id)
header("Location: menu.php");
}
else
{
echo "<h2 align='center'>" ."Login Failed" ."</h2>";
}
if($row[“Login\u Id”]==$username和$row[“Login\u Pass”]=$password)
{
echo“.”“登录成功欢迎”。“$row[“登录Id”]
."" ;
$\会话['roll\u id']=$行['roll\u id'];
//回显“ID”。$\u会话['roll\u ID'];(给出roll ID)
标题(“位置:menu.php”);
}
其他的
{
echo“”“登录失败”。”;
}
这是menu.php页面,其中编写了整个功能。我想将rollid从这个页面发送到submenu.php,在那里我可以在sql查询中使用这个rollid
<?php
session_start();
$session = $_SESSION['roll_id'];
?>
<html>
<head>
<link href="menu_style.css" type="text/css" rel="stylesheet"/>
<script
src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js">
</script>
<script type="text/javascript">
$(document).ready(function(){
var rollid = '<?php json_encode($session); ?>';
$.ajax
({
type:'post',
url:'submenu.php',
data:{"roll_id":rollid},
success:function(response)
{
//console.log(response);
var menuArray= JSON.parse(response);
var html ="";
$.each( menuArray, function( key, value )
{
html += "<li><a href=''>" + value.Menu_Name + "</a>";
if(value.subMenu.length > 0)
{
console.log(JSON.stringify(value.subMenu));
html += "<ul>";
$.each( value.subMenu, function( key, subValue )
{
html += "<li><a href=''>" + subValue.text + "</a></li>";
});
html += "</ul>";
}
html += "</li>";
});
console.log(html);
if(response!="")
{
$("#main_menu").html(html);
}
}
});
$(文档).ready(函数(){
var rollid='';
$.ajax
({
类型:'post',
url:'submenu.php',
数据:{“roll_id”:rollid},
成功:功能(响应)
{
//控制台日志(响应);
var menuArray=JSON.parse(响应);
var html=“”;
$.each(菜单数组、函数(键、值)
{
html+=“”;
如果(value.subMenu.length>0)
{
log(JSON.stringify(value.subMenu));
html+=“”;
$.each(value.subMenu,function)(键,子值)
{
html+=“”;
});
html+=“
”;
}
html+=“ ”;
});
log(html);
如果(响应!=“”)
{
$(“#主菜单”).html(html);
}
}
});
}))
这是submenu.php页面
<?php
session_start();
include('config.php');
$roll_id = $_POST['roll_id'];
$q="select a.Roll_Id, a.Menu_Id, b.Menu_Name, b.Menu_URL,b.Menu_Level,
b.MainMenu_ID, b.Menu_Order, b.Account_id,b.is_deleted from roll_menu AS a
join menu AS b on a.Menu_Id=b.Menu_Id and a.Roll_Id=".$roll_id;
$menu = mysqli_query($conn, $q);
$mainMenu = array();
foreach($menu as $x=>$value)
{
if($value['MainMenu_ID']==0)
$mainMenu[]=$value;
}
$menuData= array();
foreach($mainMenu as $y=>$value1)
{
$subMenu= array();
$m=$mainMenu[$y]['Menu_Id'];
$q1="select a.Roll_Id, a.Menu_Id, b.Menu_Name, b.Menu_URL,
b.Menu_Level, b.MainMenu_ID, b.Menu_Order, b.Account_id,
b.is_deleted from roll_menu AS a join menu AS b on
a.Menu_Id=b.Menu_Id and a.Roll_Id=".$roll_id."and b.MainMenu_ID=$m";
$menu1 = mysqli_query($conn, $q1);
while($row=mysqli_fetch_array($menu1))
{
if($row["MainMenu_ID"]==$m)
{
$subMenu[]=array("text"=>$row["Menu_Name"]);
}
}
$value1["subMenu"] = $subMenu;
$menuData[] = $value1;
}
$menuDataJSON = json_encode($menuData);
echo $menuDataJSON;
这样试试可能会对你有帮助
<?php
session_start();
$session = $_SESSION['roll_id'];
?>
<html>
<head>
<link href="menu_style.css" type="text/css" rel="stylesheet"/>
<script
src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js">
</script>
<script type="text/javascript">
$(document).ready(function(){
var rollid = "<?php echo $session; ?>"; //change here
alert(rollid)
$.ajax
({
type:'post',
url:'submenu.php',
data:{roll_id:rollid}, // change alse here
/*success: function (data) {
alert(data);
}*/
$(文档).ready(函数(){
var rollid=“;//在此处更改
警报(rollid)
$.ajax
({
类型:'post',
url:'submenu.php',
数据:{roll\u id:rollid},//在此处更改alse
/*成功:功能(数据){
警报(数据);
}*/
1st:您错过了到echo
变量
2nd:如果它不是数组
无需json\u编码
3rd:在标题
功能之前,您将不会回送
任何浏览器
像html
或回送
那样发出内容将导致警告:无法修改标题信息-标题已发送
,请注意
4th:尝试将exit();
函数放在标题之后
header(....);
exit();
Js:
var rollid = '<?php echo $session; ?>';
var-rollid='';
您回显了页面顶部的启动会话()
var rollid = "<?php echo $_SESSION['roll_id']; ?>";
var rollid=”“;
上述代码中出现了什么错误?以及“menu.php”页面中会话变量的内容是什么?VM374:2未捕获语法错误:意外标记<在JSON中位于JSON.parse()在Object.success(menu.php:20)在i(jquery.min.js:2)在Object.fireWith[as resolveWith](jquery.min.js:2)在(jquery.min.js:4)在XMLHttpRequest上。(jquery.min.js:4)您可以通过子菜单.php
直接变量调用会话。为什么要通过ajax?您可以直接在rollid变量中分配$session变量您错过了echo
它var rollid='';
所以只需打印($\u session);首先,检查login.php文件中sessionalso中是否有任何值存储在filesession_start()顶部的sessional_start()登录页面中也有。menu.php:8未捕获的语法错误:无效或意外标记错误
您的会话变量
似乎是空的
@AnjanaChoudharyno当我打印时,存储的值是会话变量。它不是空的。请确保会话变量不是空的,因此需要检查存储的值在roll_id变量中,请尝试警告roll_id变量。我已更新了我的回答如何检查数据roll id变量上存储了什么值。您是否向该语句添加了echo,如var rollid='';
?还有,什么对您不起作用?该值在submenu.php上不可用?您可以使用$session=$\u会话['roll\u id'];
在submenu.php中获取它的值。var rollid='';这是由我完成的。当我打印r($session)时,它也给出了正确的值。但是我认为这个值不会出现在数据“rollid”中。好的,我想我得到了。在submenu.php上,将$roll\u id=$\u POST['rollid'];
更改为$roll\u id=$\u POST['roll\u id']
因为您发送的是roll\u id
变量,而不是rollid
,所以此操作已完成。我已更正了此错误,但仍有一些错误。
var rollid = "<?php echo $_SESSION['roll_id']; ?>";