ajax发送的$ _POST变量的未定义索引

时间:2015-06-05 16:33:14

标签: javascript php html ajax

我已经阅读过类似的问题,但我没有找到对我有用的东西。

我必须向用户询问消息,将其发送到服务器,将其保存在数据库中并在输入字段下显示。我不想重新加载页面,所以我使用Ajax发送消息。这是HTML代码

<input id="msg" placeholder="Type your message here" onkeyup="detect(event);">

这是JavaScript代码:

var ajax_msg = "Default";  
var ajax_num = -1;         
var ajax_req;              

function detect(key){
    var unicode=key.keyCode? key.keyCode : key.charCode;
    if(unicode == 13) {ajax_call();}
} 

function ajax_call(){
    ajax_msg = document.getElementById("msg").value;

    ajax_req = CreateXmlHttpReq(response_handler); //Create the ajax object and set the onreadystatechange handler
    ajax_req.open("POST","ajaxScript.php", true); 
    var values_string = "msg=" + ajax_msg;
    ajax_req.send(values_string);
}

这是ajaxScript.php文件

<?php session_start();
    include "../script.php";

    $conn = db_connection(); //connect to the db
    $msg = $_POST['msg'];
    save_msg_into_db($msg); //save the message into the db
    close_connection($conn); //close db connection
?>

我收到此通知:未定义的索引:第7行的C:\ xampp \ htdocs \ Lavoro \ Pagina \ ajaxScript.php中的msg

我该怎么办?

1 个答案:

答案 0 :(得分:0)

从原始的javascript方式(根据不同的版本和浏览器)创建的对象存在许多问题,以便更好地使用像jQuery这样的库,尝试jquery.post()