这是我的函数:
function loadNext(choice) {
$("#thequestion").load("question.php", { ans: choice, id: "<?php echo $row['id']; ?>", nextId: "<?php echo $nextQuestionId; ?>" } );
$("#graph").load("graph.php", { id:"<?php echo $row['id']; ?>", nextId: "<?php echo $nextQuestionId; ?>" } );
}
我执行该功能,Firebug说数据正在发布,例如:
Parameters:
ans y
id 3
nextId 1
Source:
ans=y&id=3&nextId=1
但当我试图在"question.php"或"graphic.php"中检索它们时,就像这样:
$id=$_GET["id"];
$nextId=$_GET["nextId"];
它们回显为空。
有什么想法吗?
编辑:我刚刚注意到,当函数执行时,webiste URL不会改变。ans=y&id=3&nextId=1
不应该被附加到它上面以便发送数据吗?或者jQuery/ajax的东西不是这样的吗?
编辑2:对不起,这可能会变得非常具体,但如果我附加/question.php?ans=y&id=3&nextId=1
手动操作,一切正常!所以现在我真的很困惑——这已经把问题缩小到了函数loadNext(选项),不是吗?
Edit-(非op)建议编辑以包含javascript和jquery标记。
从jQuery load()
API
如果数据是作为对象提供的,则使用POST方法;否则,假定为GET。
将您的PHP脚本更改为$_POST
(如果您觉得懒惰,则为$_REQUEST
),或者将JavaScript更改为
$.get("question.php", {
ans: choice,
id: "<?php echo $row['id'] ?>",
nextId: "<?php echo $nextQuestionId ?>"
}, function(data) {
$("#thequestion").html(data);
});
也试试这个,
function loadNext(choice) {
$("#thequestion").load("question.php?ans=choice&id=<?php echo $row['id']; ?>&nextId=<?php echo $nextQuestionId; ?>" } );
$("#graph").load("graph.php?id=<?php echo $row['id']; ?>&nextId=<?php echo $nextQuestionId; ?>" } );
}