[英]AJAX take data from POST with PHP
我的脚本有点问题。 我想使用AJAX(POST)将数据提供给php文件。
我没有收到任何错误,但是php文件在AJAX“运行”之后没有显示更改。 这是我的jquery / js代码:(#changeRank是一个选择框,我想传递selected的值)
$(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:
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;
header('Location:/user/'.$user);
die();
当我运行脚本时,javascript提示“成功”,这对我而言意味着没有任何问题。
我知道,缺少我的数据的发帖请求,但这只是一个测试,因此即时通讯打算在以后添加...
希望您能帮帮我,问候:)
不错,您的js很好,但是由于您实际上并未向php脚本回显任何内容,因此您不会看到任何更改,除了成功警报。 也许var_dump您的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的数据查看结果,则需要做两件事:
Location
标头,然后echo
一些内容。 msg
)。 如果您希望该数据显示在页面中,则必须将其放在页面中的某个位置(例如,使用$('body').text(msg)
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.