无法在a
msg.php
$('#click01').click(function(){
var a = 14;
$.ajax({
url : 'msg.php',
type : 'post',
data : {a:a}
}).done(function() {
window.location='msg.php';
})
});
msg.php
var_dump($_POST['a']); // NULL, but i need `14`
答案 0 :(得分:4)
您收到null
因为在完成AJAX调用后,您将用户发送到msg.php
,其中$_POST
再次为空。
当你这样做时:
$('#click01').click(function () {
var a = 14;
$.ajax({
url: 'msg.php',
type: 'post',
data: {
a: a
}
}).done(function (data) {
alert(data);
})
});
你会看到它有效,你得到14。
我认为没有充分的理由首先使用AJAX来发布一些内容,然后在成功时将用户发送到同一页面。
答案 1 :(得分:1)
你对ajax请求的概念很糟糕。
$('#click01').click(function(){
var a = 14;
$.ajax({
url : 'msg.php',
type : 'post',
data : {a:a}
}).done(function(data) {
// data= var_dump($_POST['a'])
alert(data)
})
});
在var数据中你有ajax请求的结果,但是如果你重定向到msg.php则没有变量
答案 2 :(得分:1)
您确定要检查ajax返回,而不是window.location='msg.php';
的返回吗?
试试这个:
$('#click01').click(function(){
var a = 14;
$.ajax({
url : 'msg.php',
type : 'POST',
data : {'a':a},
success: function(r) { alert(r); }
});
});
答案 3 :(得分:0)
//而不是msg.php中的var_dump($ _ POST ['a'])使用: - // extract($ _ POST); echo $ a;
$('document')。ready(function(){var a = 14;
$.ajax({
url : "msg.php",
type : 'post',
data : {a:a}
}).done(function(data) {
alert(data);
});
});