我有一个PHP函数,我将变量传递给它,它返回一个包含开始日期和结束日期的数组。
<?php
function dateRangeTimeFrame($var1){
...
$date['startDate'] = $startDate;
$date['endDate'] = $endDate;
return $date;
}
?>
我也试图在AJAX调用中使用这个PHP函数,所以我可以重用代码。我已将此添加到页面的开头:
if (isset($_POST['dateFunction'])) {
print_r(dateRangeTimeFrame($_POST['dateFunction']));
}
我的jQuery代码如下:
$.ajax({
url: 'includes/functions.php',
type: 'post',
data: { "dateFunction": theDate},
success: function(response) {
console.log(response['startDate']);
console.log(response.startDate);
}
});
我的问题是我不知道如何访问php函数返回的响应。
以下是我从PHP函数获得的响应:
Array
(
[startDate] => 2015/01/17
[endDate] => 2015/02/16
)
我如何从PHP响应中获取这两个变量?
答案 0 :(得分:4)
您需要使用JSON。您的Javascript本身可以理解并可以解析它
if (isset($_POST['dateFunction'])) {
echo json_encode(dateRangeTimeFrame($_POST['dateFunction']));
}
你的jQuery(注意我添加了dataType
)
$.ajax({
url: 'includes/functions.php',
dataType: 'json',
type: 'post',
data: { "dateFunction": theDate},
success: function(response) {
console.log(response.startDate);
}
});
答案 1 :(得分:1)
<?php
function dateRangeTimeFrame($var1){
...
$date['startDate'] = $startDate;
$date['endDate'] = $endDate;
return json_encode($date);
}
?>
的jQuery
$.ajax({
url: 'includes/functions.php',
type: 'post',
data: { "dateFunction": theDate},
dataType: "json",
success: function(response) {
console.log(response.startDate);
}
});
答案 2 :(得分:0)
<?php
function dateRangeTimeFrame($var1) {
// ...
$date['startDate'] = $startDate;
$date['endDate'] = $endDate;
echo json_encode($date);
}
?>
$.ajax({
url: 'includes/functions.php',
type: 'post',
data: { "dateFunction": theDate },
success: function(response) {
for (var i = 0; i < response.length; i++) {
alert(response[i].startDate);
}
}
});