通过AJAX获取POST数据 - javascript

我有一个将通过AJAX设置会话变量并返回到原始页面的表单。

我的问题是我无法设置会话变量,因此它不起作用。

我的主要PHP页面

<?php
            if ($_SESSION['adminFunction'] == 'adminfunction'){
            echo "<form id='userOptionRequest' action='request.php'>";
            echo "<button name='adminFuncUserOption' onclick='adminFuncOption(1)'>User Option</button> <br /> <br />";
            echo "<button name='adminFuncUserOption' onclick='adminFuncOption(2)'>Subject Option</button> <br /> <br />";
            echo "<button name='adminFuncUserOption' onclick='adminFuncOption(3)'>Test Option</button> <br /> <br />";
            echo "</form>";
        }

        if ($_SESSION['adminFunction'] == 'addusers'){
            echo "hello world";
        }
?>

我的JS文件

function adminFuncOption(option){
if (option == 1){
    var userOptionRequest = new XMLHttpRequest();
    userOptionRequest.open('POST','request.php',false);
    xmlhttp.setRequestHeader('Content-type','application/x-www-form-urlencoded');
    userOptionRequest.send('adminFuncUserOption=' + option);
    return(1);
} }

request.php

<?php
session_start();
$option = $_POST['option'];

if ($option != NULL){
    if ($option == 1){
        $_SESSION['adminFunction'] = 'addusers';
        header('Location: http://rsc_naga_isd/admin');
    }
}

var_dump($_POST);
var_dump($_SESSION);
var_dump($_GET);

?>

当我回到我的PHP主页面时,该会话现在应该是addusers并显示“ hello world”

我有研究但仍然很难理解AJAX或PHP
Submitting HTML form using Jquery AJAX
http://www.ajax-tutor.com/post-data-server.html
http://tutorialzine.com/2009/09/simple-ajax-website-jquery/

哦,对jquery仍然不熟悉,对javascript还是很陌生,但是在涉足jquery之前更喜欢javascript。

参考方案

在javascript中,您发送:

userOptionRequest.send('adminFuncUserOption=' + option);

但在php中:

$option = $_POST['option'];

它应该是

$option = $_POST['adminFuncUserOption'];

我知道您想要javascript,但是jquery非常容易;)

$.post("request.php", { adminFuncUserOption: option },  function(response) {
  console.log(response); 
});

就这样,只需检查$_POST['adminFuncUserOption']

提交初始化后删除某些帖子数据 - javascript

在初始化提交之后但在将数据发送到处理页面之前,是否可以过滤$ _POST表单数据?我想象过程的方式:提交->收集$ _POST数据->发送数据我想做的事:提交->收集$ _POST数据->删除某些元素->发送数据这样就不必更改处理页面以过滤掉不希望接收的元素了吗? javascript大神给出的解决方案 当然可以,您可以在JS …

将字符串值添加到php / javascript - javascript

您好,我有一些代码需要在其中插入一些字符串值,但是每次我输入字母时,脚本都无法正常工作。<script type="text/javascript"> "use strict"; var values = [1,2,3,4,5,6,7,8,9]; /*add string values here*/ var…

执行onclick时获得意外令牌 - javascript

我正在使用onclick事件从PHP调用JS函数。这是我的代码:我在一个函数中,因此我需要通过PHP来完成它,因为然后我会返回:$html = '<input type="checkbox" checked value="1" id="setGetSku" name="se…

使用JS和PHP更改弹出窗口背景图像 - javascript

我有一个JS函数:function zoom(now) { document.getElementById("popup").style.display = "block"; document.getElementById("photos").style.backgroundImage = …

如何使用Javascript将字典列表解析为JSON格式? - javascript

我正在尝试解析JSON格式的词典列表,以便可以使用它们的数据创建一组列表项,其中使用此数据生成文本和ID。我将以下内容传递到我的网页,并在投放之前将其存储在隐藏的div中: [{'text': 'org1', 'id': 'org1ID'}, {'text':…