0
<?php
date_default_timezone_set('America/Los_Angeles');
$time = date('Gi', time());
$day = date('l', time());
?>
<script type="text/javascript">
$(function() {
$(".show_hide").click(function()
{
var locTime = <?php echo json_encode($time) ?>;
var locDate = <?php echo json_encode($day) ?>;
$.getJSON("url_to_json", function(data) {
for (var i = 0; i < data.location[locDate].length; i++) {
console.log("sucess1");
xr_mon= data.location.locDate[i];
console.log("sucess2");
if (locTime >= xr_mon.kai && locTime < xr_mon.guan){
console.log("cafe is open!");
$('.xr').show();
break;
}
else {
console.log("cafe is closed");
$('.xr').hide();
}
}
});
}
);
});
{ "location":
{
"Monday": [
{"kai": 700, "guan": 1400},
{"kai": 1700, "guan": 2100}
],
"Tuesday": [
{"kai": 700, "guan": 1400},
{"kai": 1700, "guan": 2100}
],
"Wednesday": [
{"kai": 700, "guan": 1400},
{"kai": 1700, "guan": 2100},
{"kai": 2200, "guan": 2400},
{"kai": 0, "guan": 200}
],
"Thursday": [
{"kai": 700, "guan": 1400},
{"kai": 1700, "guan": 2100},
{"kai": 2200, "guan": 2400},
{"kai": 0, "guan": 200}
],
"Friday": [
{"kai": 700, "guan": 1400},
{"kai": 1700, "guan": 2100},
{"kai": 2200, "guan": 2400},
{"kai": 0, "guan": 200}
],
"Saturday": [
{"kai": 1000, "guan": 1500},
{"kai": 1700, "guan": 2100},
{"kai": 2200, "guan": 2400},
{"kai": 0, "guan": 200}
],
"Sunday": [
{"kai": 1000, "guan": 1500},
{"kai": 1700, "guan": 2100},
{"kai": 2200, "guan": 2400},
{"kai": 0, "guan": 200}
]
}
}
其中偕=开放时间 和关=闭小时
与locDate经由PHP服务器侧日期拉出,我想更换与我的JSON生成的日期调用星期几的部分的字符串。
从这个for (var i = 0; i < data.location.'locDate'.length; i++)
这个
我如何做一个正确的方式。有人建议使用[locDate],但它不会替代php日期数据中的变量。
对于记录,这是不** ** JSON。这些是原生JavaScript对象。 JSON是JavaScript对象的_serialization_ - 这就是为什么有符号** N **的原因。 –
我想通过使用data.location.'locDate'.length调用外部JSON,但通过php服务器端给我当前的日期。 – user2510532
“JSON调用”将是使用AJAX(或类似)方法的实际查询。然而,一旦你拥有了它(和解析)它现在是一个JavaScript _object_。 –