获取从Ajax到Php的变量

时间:2012-04-19 02:41:08

标签: php javascript ajax

我有一个带有textfiled变量的ajax代码。它提醒值,但是当我想进入php时,它会给我一个错误未定义索引

JavaScript代码

<SCRIPT>
function go(UserID) {
var name= encodeURI(document.getElementById('name').value);
var design= encodeURI(document.getElementById('design').value);
http.open('get', 'testAjax.php?design='+design+'&name = '+name);
http.send(null);
}
</SCRIPT>

HTML代码

<INPUT ID='name' type='text'>
<INPUT ID='design' type='hidden' value="<?php echo $UserID; ?>">
<A href="?process" onclick="javascript:go(<?php echo $UserID; ?>)">Link</A>

Php代码

if(isset($_GET['process'])) {
echo $_GET['design'];
echo $_GET['name'];   
}

请让我知道如何解决它。

2 个答案:

答案 0 :(得分:0)

您有一个锚点标记,您可以在其上进行onclick事件。触发后的Onclick事件将向testAjax.php? url发送ajax请求。

但是,由于您没有阻止点击锚标记的默认行为,因此只要发送此ajax请求,页面就会重定向到?process,并且您将无法接收{{1}参数。

假设您的ajax正确,请在$_GET功能的末尾添加return false;。此外,由于在服务器端您有go()之类的子句,您还应该将ajax网址更新为:if(isset($_GET['process'])) {

答案 1 :(得分:0)

好的,我发现可能导致此问题的一些事情。 尝试:

<script>
    function go(UserID) {
        var name= encodeURI(document.getElementById('name').value);
        var design= encodeURI(document.getElementById('design').value);
        http.open('get', 'testAjax.php?process&design='+design+'&name='+name);
        http.send(null);
    }
</script>

<input id='name' type='text' />
<input id='design' type='hidden' value="<?=$UserID; ?>" />
<a href="#" onclick="javascript:go(<?=$UserID; ?>)">Link</a>

如您所见,我们删除了html变量“process”并将其作为ajax调用的一部分。