我正在使用 jQuery 将 ajax post 发送到 php 文件,并试图让成功函数数据正确进入。这是我的文件:
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 进行开发,这可能是个问题,还是我代码中的某个地方?
干杯!
最佳答案
如果您的 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)而不是您期望收到的信息的原因。
关于javascript - jQuery ajax 发布成功后无法使用 XAMPP 在本地主机上获取正确的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20876523/