POST请求无法使用JQuery AJAX

时间:2013-05-07 00:16:16

标签: php mysql jquery post

我正在尝试使用JQuery AJAX来允许用户在弹出框中将信息输入到表单中,然后将信息添加到MySQL数据库中。 但是,出于某种原因,当我使用JQuery AJAX函数 - 我已经尝试过$ .post()和$ .ajax() - 来POST数据时,它没有得到POST。相反,我收到了我尝试POST的所有字段的“Undefined index”错误消息(当我转到processNewAssignments.php时,这是我要发布的URL)。我做错了什么?

当用户点击POST信息时,我的JQuery AJAX函数调用是:

$.ajax({url: "[THIS CONTAINS THE REST OF THE URL]/processNewAssignments.php",
                    type: 'POST',
                    data: {max_grade: maxGradeValue, title: taskNameValue, due: dueDateValue}});

或者我也尝试过:

$.post("[THIS CONTAINS THE REST OF THE URL]/processNewAssignments.php", 
        {max_grade: maxGradeValue, title: taskNameValue, due: dueDateValue});

我的processNewAssignments.php代码(数据发布到的网址)是:

<?php session_start(); ?>

<!DOCTYPE html>
<html lang="en">
<head>
<title>Process Assignments</title>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>

<?php 

    $maxgrade = $_POST["max_grade"];
    $title = $_POST["title"];
    $due = $_POST["due"];
    $classID = $_SESSION["classID"];


    echo "hello!";
    echo $title . $classID . $due . $maxgrade;

    require("db.php");
    $query = "INSERT INTO assignments (title, assignmentID, classID, deadline, max_grade) VALUES ('$title', DEFAULT, '$classID', '$due', '$maxgrade')";
    $result = mysql_query($query, $db);

?>

2 个答案:

答案 0 :(得分:2)

  

相反,我收到了所有字段的“未定义索引”的错误消息   试图POST(当我去processNewAssignments.php,这是   我正在发帖的网址)。我做错了什么?

如果我理解正确,您会尝试通过发送 第二个GET请求 来查找发布的变量,即在地址栏中输入网址。

如果情况确实如此,那么你应该得到undefined index,因为你没有发布任何东西,因此$_POST数组是未定义的。

要测试 ajax POST请求,您需要使用开发工具(Chrome上的F12),选择Network标签,然后点击发布的帖子请求。

在那里你可以看到请求是否成功(200响应代码),以及是什么 回应的内容。

答案 1 :(得分:1)

您已指定5列 INSERT 进入;但只传递了4个值:

title, assignmentID, classID, deadline, max_grade

和你的价值观:

'$title', DEFAULT, '$due', '$maxgrade'