在底部更新 我习惯使用涉及id或类的选择器,所以甚至不能确定这至少可以实现我正在考虑的功能。我有一个名为replist.html的单独文件,我以这样的一对一关系保存数据(35,000行的部分列表)......
'Illinois': 'joesmoe',
'Nevada': 'messytess',
<!-- start of new zip codes -->
'01001': 'julsguls',
'01002': 'julsguls',
我最初将文件拉到页面我正在使用带有include_once()的脚本,但现在我正在修改以改变移动设备及其处理位置检测(我将IP转换为zip)。由于性质,我希望通过PHP的客户端脚本访问数据。这是我到目前为止所拥有的......
<script>
...
<?php
if(!(($detect->isMobile()))) { ?>
var reps = {
<?php include_once('repList.html'); ?>
};
<?php
}
else { ?>
<!-- custom mobile location detection here -->
reps = {***would like to get load() here***};
<?php } ?>
...
</script>
...其他我想添加移动位置检测脚本,然后加载()我的repList.html文件。
我简化了else,只关注如何在那里获取load()。如果有人有更好的jQuery,其他JavaScript库或任何客户端解决方案我是开放的。我计划在此过程之前使用的脚本是客户端,为什么我不能像我一样使用PHP。
我相信我会保留PHP并继续......
var reps_load = {<?php include_once('repList.html'); ?>};
<?php
if(!(($detect->isMobile()))) { ?>
var reps = reps_load;
<?php
}
else {
...
答案 0 :(得分:0)
根据手册load()
:
从服务器加载数据并将返回的HTML放入匹配的 元件。
因此无法为您的javascript变量指定任何内容。
您可以json_encode
数据服务器端,而是使用jQuery.getJSON()
,将返回的值分配给回调函数中的变量。
但是你会调用另一个php文件来反过来读取你的数据并做好准备。
类似的东西:
else
{
?>
<!-- custom mobile location detection here -->
var reps;
$.getJSON('script_that_returns_data_as_json.php', function(data) {
reps = data;
// you might need to process it to get it the form you want...
});
<?php
}
?>
答案 1 :(得分:0)
此方法仅使用普通的javascript,但如果您的数据位于不同的域中,它甚至可以跨站点使用。 您可以在文件前面添加包含为JSON或javascript变量的数据
var script=document.createElement("script");
script.src="your_url.js"
var head = document.getElementsByTagName('head')[0]
head.insertBefore(script,head.firstChild)
然后您的数据文件可能类似于:
items=[
{"state":"Illinois","name":"joesmoe"},
{"zip":"01001", "value":"julsquls"}
];
可以通过以下方式访问:
for (var i=0;i<items.length;i++){
if(items[i].state) /*state stuff*/;
if(items[i].zip) /*zip stuff*/;
}