我有一个问题,当涉及从jQuery检索值到php.i能够获取我的选择的值并将其传递给我的PHP,但我无法将其传递回PHP。这是代码......
<script>
$(document).ready(function()
{
$("select#months").change(function(event)
{
var m=$(this).val();
$.ajax({
type: 'POST',
url: "monthly_CRD.php",
data: {m: m},
success: function(){alert("updated")}
});
});
});
</script>
<div>
<select id="months">
<option value='00'>Month...</option>
<option value='01'>Jan</option>
<option value='02'>Feb</option>
<option value='03'>Mar</option>
<option value='04'>Apr</option>
</select>
<select id="years">
<?php
for($yr=10; $yr<=$year; $yr++)
{
echo "<option value='".$yr."'>".$years[$yr]."</option>";
}
?>
</select>
</div>
<?php
if (isset($_POST['m']))
{
$m = $_POST['m'];
echo $m;
} else {echo "fail";}
?>
它继续返回失败,这意味着isset无效。
答案 0 :(得分:1)
将data: {m: m}
更改为data: {"m":m}
由于您正在查看$_POST['m']
,因此需要在JSON中定义该密钥。目前,如果您选择$_POST['03']
Mar
答案 1 :(得分:0)
如果你有一个元素的id,那么只需id即可。试试这个
$(document).ready(function()
{
$("#months").change(function(event)
{
$.ajax({
type: 'post',
url: "monthly_CRD.php",
data: { m: $(this).val()},
success: function(){
alert("updated")
}
});
});
});
答案 2 :(得分:0)
如果你的意思是在页面加载时,它会返回fail
,这是因为在页面加载时你的$_POST
数组可能是空的。
如果您想知道从AJAX帖子返回的内容,您需要success
函数接受jQuery将填充对您帖子的响应的参数(如data
)。
然后在函数体中,您可以将其写入DOM或错误控制台。
答案 3 :(得分:0)
$(document).ready(function()
{
$("#months").change(function(event)
{
$.ajax({
type: 'post',
url: "monthly_CRD.php",
data: '{ "m": "' + $(this).val() + '"}',
success: function(msg){
alert(msg)
},
error: function(msg) {
alert("An error happened: " +msg);
}
});
});
});
Chrome工具的用户提琴手可以破解成功或错误,并检查meesage属性的值。