我正在尝试通过AJAX将表单的内容传递给名为cateringResults.php
的文件。但是,当尝试访问cateringResults.php
上的数据时,出现了未定义的索引错误。任何想法为什么会这样?
这里是表格和AJAX请求:
<html>
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<form id="myForm" onsubmit="return false;">
<table class="tableStyle">
<tr>
<td class="cells"><label for="venueName">Venue Name:</label></td>
<td class="cells">
<select id="venueName" name="venueName" class="input" required>
<option value = "1">Central Plaza</option>
<option value = "2">Pacific Towers</option>
</select>
</td>
</tr>
<tr>
<td class="cells"><label for="submit">Check Catering Grades:</label></td>
<td class="cells"><input type="submit" id="submitBtn" class="btn" /></td>
</tr>
</table>
</form>
$('#submitBtn').click(function(){
alert("hello");
var ven = $('#venueName').val();
alert(ven);
$.ajax({
url: "cateringResults.php",
type: 'post',
data: {'venue' : ven},
success: function(msg) {
alert('Email Sent');
$("#cateringResultsDisplay").load('cateringResults.php');
}
});
})
</script>
<div id="cateringResultsDisplay"></div>
提交时,“ hello”,ven
和“已发送电子邮件”都被输出,使我认为AJAX请求是正确的。
这里是cateringResults.php
中的php代码,它正在尝试访问表单数据。
<html>
<?php
$x = $_REQUEST['venue'];
echo $x;
if(isset($_POST['venue'])){
echo '<p>yes</p>';
}
else{
echo "not set";
}
?>
知道为什么我会收到此错误? cateringResults.php
$x = $_REQUEST['venue'];
问题是这样:
$("#cateringResultsDisplay").load('cateringResults.php');
您没有在此处将venue
作为请求参数发送(或与此相关的任何请求参数),但是服务器端脚本希望发送它:
$x = $_REQUEST['venue'];
自然会导致未定义的索引错误。