我仍然无法获取jquery变量。它一直给我一个错误
$(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);
}
});
});
<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>
</div>
<?php
if (isset($_POST['m']))
{
$m = $_POST['m'];
echo $m;
}
?>
错误是发生错误:[objectXMLHttpRequest]
这是jQuery
$(document).ready(function()
{
$("select").change(function(event)
{
var view=$(this).val();
switch(view)
{
case "daily":
{
$("#graph").load('../crd_reports/daily_CRD.php');
$("#top10").empty();
break;
}
case "weekly":
{
$("#graph").load('../crd_reports/weekly_CRD.php');
$("#top10").load('../crd_reports/top10_weekly.php');
break;
}
case "monthly":
{
$("#graph").load('../crd_reports/monthly_CRD.php');
$("#top10").load('../crd_reports/top10_monthly.php');
break;
}
case "yearly":
{
$("#graph").load('../crd_reports/yearly_CRD.php');
$("#top10").load('../crd_reports/top10_yearly.php');
break;
}
default:
{
}
}
});
});
答案 0 :(得分:2)
您使用
保存了该值var m = $(this).val();
...所以你应该把它放到你的数据中:
data: {
"m": m
}
答案 1 :(得分:0)
“this”更改了ajax函数中的上下文来表示“ajax()”函数而不是所选的月份,因此它不再具有val():
data:
{
"m": $(this).val() // this is like -> "m": $.(ajax()).val()
},
改为保存在外部上下文中的“m”变量:
data:
{
"m": m
},
它应该做的伎俩!
答案 2 :(得分:0)
您提供的代码位于.html
或'.php'文件中?什么,请检查此页面的网址。如果您的网址类似于file:///E:/wamp/www/test/post.html
(示例),那么它将不起作用,您必须使用http://localhost/test/post.html
,即服务器网址。我认为这将解决您的问题