ajax和php未定义索引

时间:2012-01-19 15:50:17

标签: php ajax undefined

这是我的ajax代码:

function send()
{
    var xmlhttp;
     if (window.XMLHttpRequest)
       {// code for IE7+, Firefox, Chrome, Opera, Safari
       xmlhttp=new XMLHttpRequest();
       }
     else
       {// code for IE6, IE5
       xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
       }

    xmlhttp.onreadystatechange=function()
       {
       if (xmlhttp.readyState==4 && xmlhttp.status==200)
         {
            alert(xmlhttp.responseText);
         }
       }

    xmlhttp.open("POST","test.php",true);
    xmlhttp.send('subject=' + document.getElementById("subject").value);
}

这是我的PHP代码:

<?php
$subject = $_POST['subject'];
echo $subject;
?>

它表示php代码中第2行的错误,未定义的索引。 我不知道还能做些什么。感谢任何帮助。谢谢。

2 个答案:

答案 0 :(得分:1)

这意味着$ _POST数组中没有'subject'值。这意味着当对页面发出请求时,没有一个名为subject的post变量带有值。检查这一点的一种简单方法是使用:

if(isset($_POST['subject'])){
    $subject = $_POST['subject'];
}else{
    $subject = "default";
}

这确保了主题具有值并且不会导致任何页面错误。确保您肯定发送了一个名为subject的POST变量(您可以在Chrome开发者工具或Firebug的网络请求面板中执行此操作)。

答案 1 :(得分:0)

检查名为主题的表单输入。你可能拼错了它。