继续得到一个错误(jQuery变量到PHP变量)

时间:2011-08-09 05:57:17

标签: php jquery

我仍然无法获取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: 
            {
            }
        }

    }); 
});

3 个答案:

答案 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,即服务器网址。我认为这将解决您的问题