jQuery ajax发布成功没有使用XAMPP在localhost上获取正确的数据

时间:2014-01-02 04:49:16

标签: javascript php jquery ajax

我正在用jQuery对a php文件进行ajax发布,并试图让成功函数数据正确进入。这是我的文件:

JAVASCRIPT

$.ajax({ url: "ajax/chart-kpi-trend.php",
         data: {
            data_kpi: kpi,
            data_goal: goal,
            data_year: year,
            data_month: month
        },
         type: 'POST',
         success: function(data) {
                      alert(data);
                  },
         error: function() {
            alert('error');
         }
         });

PHP

$goal = $_POST["data_goal"];
$kpi = $_POST["data_kpi"];
$year = $_POST["data_year"];
$month = $_POST["data_month"];


$return = array(
    goal => $goal,
    kpi => $kpi,
    year => $year,
    month => $month
    );

echo json_encode($return);

现在调用成功函数,但传递给它的数据是......

<html>
<head>
<meta name="author" content="Kai Oswald Seidler">
<meta http-equiv="cache-control" content="no-cache">
<title>XAMPP for Mac OS X 1.7.3</title>

<frameset rows="74,*" marginwidth="0" marginheight="0" frameborder="0" border="0" borderwidth="0">
    <frame name="head" src="head.php" scrolling=no>
<frameset cols="150,*" marginwidth="0" marginheight="0" frameborder="0" border="0" borderwidth="0">
    <frame name="navi" src="navi.php" scrolling=no>
    <frame name="content" src="start.php" marginwidth=20>
</frameset>
</frameset>
</head>
<body bgcolor=#ffffff>
</body>
</html>

这与我在PHP文件中构建的数组完全不同。我正在使用XAMPP在localhost上开发,这可能是个问题,还是在我的代码中某处?

干杯!

3 个答案:

答案 0 :(得分:2)

如果您的PHP文件位于www.yourdomain.com/ajax/chart-kpi-trend.php,那么您需要在Jquery ajax请求中添加另一个前导/ URL,因此您的javascript将是:

$.ajax({ url: "/ajax/chart-kpi-trend.php",
     data: {
        data_kpi: kpi,
        data_goal: goal,
        data_year: year,
        data_month: month
    },
     type: 'POST',
     success: function(data) {
                  alert(data);
              },
     error: function() {
        alert('error');
     }
     });

没有领先/ Javascript正在寻找www.yourdomain.com/whereverYourJavascriptIs/ajax/chart-kpi-trend.php。看起来你的XAMPP只是抓住了这样一个事实,即URL上没有找到它的页面,并显示了一个通用的XAMPP页面。这就是为什么要获取该信息(页面的html)而不是您希望收到的信息。

答案 1 :(得分:0)

$.ajax({ url: "ajax/chart-kpi-trend.php",
     data: {
        data_kpi: kpi,
        data_goal: goal,
        data_year: year,
        data_month: month
    },
     type: 'POST',
     dataType: 'JSON',
     success: function(data) {
                  alert(data);
              },
     error: function() {
        alert('error');
     }
     });

如果您调用了正确的URL,只需在ajax对象中添加“dataType:json”参数即可获得json响应

答案 2 :(得分:0)

尝试这样的事情

$return = array(
    'goal' => $goal,
    'kpi' => $kpi,
    'year' => $year,
    'month'=> $month
);

echo json_encode($return);