我正在尝试使用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);
?>
答案 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'