发送' GET' $ .load()的数据

时间:2012-01-18 04:54:26

标签: php javascript jquery get

这是我的功能:

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'或'graph.php'中检索它们时,如下所示:

$id=$_GET["id"];
$nextId=$_GET["nextId"];

他们回复为null。

有什么想法吗?

编辑:我刚刚注意到执行该功能时网站URL没有改变。不应将ans=y&id=3&nextId=1附加到其上以便发送数据?或者这不是jQuery / ajax的情况吗?

编辑2:对不起,这可能会变得非常具体,但如果我追加了 /question.php?ans=y&id=3&nextId=1 手动,一切正常!所以现在我真的很困惑 - 这已经将问题缩小到函数loadNext(选择),不是吗?

编辑 - (不是操作)建议编辑以包含javascript和jquery标记。

2 个答案:

答案 0 :(得分:3)

来自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);
});

答案 1 :(得分:0)

试试这个,

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; ?>" } );
    }