例如如何传递呼叫:
http://localhost/conn.php?geotable=INFR&geomfield=the_geom&srid=&fields=¶meters=&orderby=&sort=&limit=&offset=
进入javascript变量?此调用的结果是字符串(geoJSON 格式行)。
请帮忙,我不知道该尝试什么了!
例如如何传递呼叫:
http://localhost/conn.php?geotable=INFR&geomfield=the_geom&srid=&fields=¶meters=&orderby=&sort=&limit=&offset=
进入javascript变量?此调用的结果是字符串(geoJSON 格式行)。
请帮忙,我不知道该尝试什么了!
有很多方法可以做到这一点。这里有几个选项:
(注意:出于演示目的,这些示例假定您的 PHP 脚本返回GeoJSON 规范示例代码。)
AJAX:为了进行 AJAX 调用,我推荐使用jQuery之类的库,因为这意味着您不必担心不同浏览器版本的所有特性。如果你使用 jQuery,你需要使用的函数是$.getJSON()
(更多示例请参见文档)。您的电话可能如下所示:
var path = http://localhost/conn.php?geotable=INFR&geomfield=the_geom&srid=&fields=¶meters=&orderby=&sort=&limit=&offset=
var result;
$.getJSON(path, function(data) {
result = data;
});
这将从服务器接收 GeoJSON 数据并将其复制到result
变量中。
如果您可以修改服务器端脚本,那么最简单的方法可能是使用JSONP。修改服务器上的 PHP 代码,使其接受一个callback
参数并返回包装在具有该名称的函数中的 JSON 数据。例如,如果您设置callback=process
,服务器将返回以下内容:
process(
{ "type": "FeatureCollection",
"features": [
{ "type": "Feature",
"geometry": {"type": "Point", "coordinates": [102.0, 0.5]},
"properties": {"prop0": "value0"}
},
.....
}
);
(请注意,这与上面链接的示例数据完全相同,只是process(
在它之前和);
之后。)
获取数据所需的只是一些如下代码:
<script>
var result;
function process(received) {
result = data;
}
</script>
<script src="http://localhost/conn.php?callback=process&geotable=INFR&geomfield=the_geom&srid=&fields=¶meters=&orderby=&sort=&limit=&offset="></script>
如果你希望你的 GET 变量在 javascript 中可用,你可以做这样的事情。
<script>
<?php
echo 'var phpData = ' . json_encode($_GET);
?>
</script>
确保此代码位于您开始使用 javascript 的部分之前。您可以像这样在javascript中调用您的变量:
phpData.var
例如,您的 get ?geotable=INFR 的这一部分将使用 phpData.geotable 在 javascript 中调用
希望这可以帮助你。