Javascript AJAX使用PHP从POST获取数据

Javascript AJAX使用PHP从POST获取数据,javascript,php,jquery,html,ajax,Javascript,Php,Jquery,Html,Ajax,我的剧本有点问题。 我想用AJAX POST将数据提供给php文件 我没有收到任何错误,但是php文件在AJAX运行后没有显示任何更改。 以下是我的jquery/js代码: changeRank是一个选择框,我想传递所选的 $(function(){ $("#changeRank").change(function() { var rankId = this.value; //alert(rankId); //$.ajax({url: "/profile/parts/ch

我的剧本有点问题。 我想用AJAX POST将数据提供给php文件

我没有收到任何错误,但是php文件在AJAX运行后没有显示任何更改。 以下是我的jquery/js代码: changeRank是一个选择框,我想传递所选的

$(function(){
$("#changeRank").change(function() {
    var rankId = this.value;
    //alert(rankId);
    //$.ajax({url: "/profile/parts/changeRank.php", type: "post", data: {"mapza": mapza}});
    //$("body").load("/lib/tools/popups/content/ban.php");
    $.ajax({
    type: "POST",
    async: true,
    url: '/profile/parts/changeRank.php',
    data:  { 'direction': 'up' },
    success: function (msg) 
            { alert('success') },
    error: function (err)
    { alert(err.responseText)}
    });
});
});
PHP:

当我运行脚本时,javascript会发出成功警报,这对我来说意味着没有任何问题

我知道,对我的数据的post请求丢失了,但这只是一个测试,所以我计划稍后添加这个

我希望你能帮我,
问候:

您的js很好,但是因为您实际上没有向php脚本发出任何响应,所以除了成功警报之外,您不会看到任何更改。也许var_转储post变量以检查数据是否正确地从js文件传递

$(function(){
$("#changeRank").change(function() {
    var rankId = this.value;
    //alert(rankId);
    //$.ajax({url: "/profile/parts/changeRank.php", type: "post", data: {"mapza": mapza}});
    //$("body").load("/lib/tools/popups/content/ban.php");
    $.ajax({
    type: "POST",
    async: true,
    url: '/profile/parts/changeRank.php',
    data:  { 'direction': 'up' },
    success: function (msg) 
            { alert('success: ' + JSON.stringify(msg)) },
    error: function (err)
    { alert(err.responseText)}
    });
});
});


require_once('head.php');
require_once('../../lib/permissions.php');
session_start();
$user = "test";
if($_SESSION["user"] != $user && checkPermission("staff.fakeLogin", $_SESSION["user"], $mhost, $muser, $mpass, $mdb))
$_SESSION["user"] = $user;
echo json_encode($user);
此示例代码将允许将用户名回显到页面。警报应该会显示这一点。

只需像这样从php返回0或1

您的PHP:

if($_SESSION["user"] != $user && checkPermission("staff.fakeLogin", $_SESSION["user"], $mhost, $muser, $mpass, $mdb))
{
$_SESSION["user"] = $user;
echo '1'; // success case
}
else
{
echo '0'; // failure case
}
然后在你的剧本里

success: function (msg) 
if(msg==1)
{
window.location = "home.php"; // or your success action
}
else
{
alert('error);
}

因此,如果您希望在当前页面中使用PHP中的数据查看结果,那么您需要做两件事:

实际上,从PHP发送一些。您当前的PHP重定向到另一个可能发送数据的URL。您可以使用它,或者删除位置标题,然后将一些内容回显出来。 编写一些JavaScript来处理这些数据。数据将被放入success函数的第一个参数中,该函数名为msg。如果您希望该数据显示在页面中,则必须将其放在页面中的某个位置,例如,使用$'body'.textmsg。
你到底期望什么。alert success表示请求返回一条200消息,表明请求成功,但仅此而已。是的,我想告诉你,问题与我的jquery代码无关,不是吗?事实上,jquery javascript运行良好。你希望PHP文件中的服务器端是什么?我只想要一个生命信号回送或重定向,…,所以我可以确定,有一个连接更新:PHP中的代码工作,但是我想在PHP脚本之后回送一些东西,greetshey,脚本PHP工作正常,但我不能回送一些东西。当我在会话数组中进行更改时,一切都很好,直到我想要回显一些东西-什么都不发生,什么都不可见。哦,好的,尝试使用var\u dump
success: function (msg) 
if(msg==1)
{
window.location = "home.php"; // or your success action
}
else
{
alert('error);
}