我正在用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上开发,这可能是个问题,还是在我的代码中某处?
干杯!
答案 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);