我编写了一个 ajax 请求,数据作为数组返回,以便在时间选择器中使用。
Ajax 调用:
<script type="text/javascript">
$.ajaxSetup({ cache: false });
var consultdate;
var userid;
var cat;
var timezone;
var consultstart;
var consultend;
$('#consultdate').change(function() {
consultdate = $('#consultdate').val();
userid= '<?php echo $user_id;?>';
cat = '<?php echo $category;?>';
timezone = '<?php echo $time_zone;?>';
consultstart = '<?php echo $consultation_start;?>';
consultend = '<?php echo $consultation_end;?>';
//alert(consultdate);
$.ajax({
type: "POST",
url: 'user_date-time_qry.php',
cache: false,
dataType : "text",
data: {consultdate : consultdate, userid : userid, cat : cat, timezone : timezone, consultstart : consultstart, consultend: consultend },
success: function(data)
{
if (!$('input#consulttime').data("set")) {
alert(data);
var result = $.parseJSON(data);
$("input#consulttime").val('');
$('input#consulttime').prop("disabled", false);
$('input#consulttime').timepicker('remove').timepicker({'timeFormat': 'h:i A','disableTextInput': true, 'minTime':result[0] ,'maxTime': '<?php echo $consultation_end; ?>','step': 15,'disableTimeRanges':result[1]});
}
},
error : function() {
alert("Error while loading data");
}
});
});
</script>
我希望 var result 是一个 json 编码值的数组,它在 minTime
中用作 result[0]
,在 disableTimeRanges
中用作结果[1]
user_date-time_qry.php的相关部分如下:
更新:user_date-time_qry.php
$consultation_start = '"'.$consultation_start. '"';
$consult_time_UTC = '['.implode(',',$consult_time_UTC).']';
$prebooked_time_UTC = $consult_time_UTC ; //require format as ['8.30 AM', '8.45 AM'], ['12:15 PM', '12:30 PM']
echo $result = array($consultation_start, $prebooked_time_UTC);
$result = array($consultation_start, $prebooked_time_UTC);
foreach ($result as $results) {
echo $results;
}
在控制台中 获取“06:00 PM”的值[] “06:00 PM”是值 1 && [] 是值 2。如何在 ajax 响应中将其作为单独的值获取?
更新:
由于我无法理解它,因此尝试使用 2 个 ajax 调用的另一个解决方案。无论如何,感谢您的所有反馈。
最佳答案
更改此行
echo $result = array($consultation_start, $prebooked_time_UTC);
到此
$result = array($consultation_start, $prebooked_time_UTC);
echo json_encode($result);
实际上,要在 PHP
中获取 JSON
格式的数据,您只需将所有数据存储在 array
中并使用 json_encode
函数来转换它们。
关于php - Ajax 结果为数组和 JSON.parse 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47427247/