PHP环境里的伪静态页面中,如何将JS变量传给其它变量的参数?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP环境里的伪静态页面中,如何将JS变量传给其它变量的参数?相关的知识,希望对你有一定的参考价值。

伪静态html页面下其中调用高德地图部分如下,其中想把坐标用变量代替。现页面中有lng、lat两个变量是通过 JS 赋值的,如何把下面的这段代码中坐标点都变成这两个变量?

<script type="text/javascript">
//基本地图加载
var map = new AMap.Map("container",
resizeEnable: true,
center: [123.277067,41.766495],//地图中心点
zoom: 13 //地图显示的缩放级别
);
//构造路线导航类
var driving = new AMap.Driving(
map: map,
panel: "panel"
);
// 根据起终点经纬度规划驾车导航路线
driving.search(new AMap.LngLat(116.379028, 39.865042), new AMap.LngLat(123.277067,41.766495), function(status, result)
// result 即是对应的驾车导航信息,相关数据结构文档请参考 https://lbs.amap.com/api/javascript-api/reference/route-search#m_DrivingResult
if (status === 'complete')
log.success('绘制驾车路线完成')
else
log.error('获取驾车数据失败:' + result)

);
</script>

参考技术A 说实话没看明白你想表达的意思
你是想通过js把代码中的坐标点替换为lng和lat的值吗?
(就像这样:
假如lng=120,lat=40
你是想把代码中的LngLat(116.379028, 39.865042)替换为
LngLat(120,40)
)是这个意思吗?
如果是的话建议你在php生成页面的时候这样写LngLat(lng,lat)追问

对,是这个意思。因为LNG和LAT的值是会变的,所以想把代码中那个坐标以变量的形式表现出来。

追答

在PHP生成静态页面的时候这样写,前提是在javascript中已经定义了lng和lat
echo '
//基本地图加载
var map = new AMap.Map("container",
resizeEnable: true,
center: [lng,lat],//地图中心点
zoom: 13 //地图显示的缩放级别
);
//构造路线导航类
var driving = new AMap.Driving(
map: map,
panel: "panel"
);
// 根据起终点经纬度规划驾车导航路线
driving.search(new AMap.LngLat(lng, lat), new AMap.LngLat(lng, lat), function(status, result)
// result 即是对应的驾车导航信息,相关数据结构文档请参考 https://lbs.amap.com/api/javascript-api/reference/route-search#m_DrivingResult
if (status === \'complete\')
log.success(\'绘制驾车路线完成\')
else
log.error(\'获取驾车数据失败:\' + result)

);
';

参考技术B 如果是TP5可以这样写:

<script type="text/javascript">
var lat = parseFloat('$lat');
var lng = parseFloat('$lng');
//基本地图加载
var map = new AMap.Map("container",
resizeEnable: true,
center: [123.277067,41.766495],//地图中心点
zoom: 13 //地图显示的缩放级别
);
//构造路线导航类
var driving = new AMap.Driving(
map: map,
panel: "panel"
);
// 根据起终点经纬度规划驾车导航路线
driving.search(new AMap.LngLat(116.379028, 39.865042), new AMap.LngLat(lng,lat), function(status, result)
// result 即是对应的驾车导航信息,相关数据结构文档请参考 https://lbs.amap.com/api/javascript-api/reference/route-search#m_DrivingResult
if (status === 'complete')
log.success('绘制驾车路线完成')
else
log.error('获取驾车数据失败:' + result)

);
</script>本回答被提问者采纳
参考技术C 你可以先在页面里面声明一个隐藏域 <input type="hidden" value="变量">
然后在下面需要的地方再重新获取一下追问

可以写一下完整的代码吗?我的问题里有需要调用变量的地方,用INPUT标签不是需要先提交然后才能赋值给相应的标签变量吗?

参考技术D JS把数据传给 INPUT或其它标签,PHP可以读INPUT的内容,赋值给变量。追问

可以写一下完整的代码吗?因为没办法点击按钮之类,所以需要在页面中自动调用完成。并完成赋值和显示。

第5个回答  2019-08-02 不是一种语言,反过来 alert(<?php $a?>)支持,你的要求用ajax吧 如用ajax请求这样的链接var url="m.php?ao="+ao; 在m.php中, $ao=$_GET['ao'];

在PHP中管理环境变量

  在PHP中管理环境变量

  现在我们都能用很多个编程语言开发,当我开始熟悉PHP时,我会忽略其它语言的特点。我用过其他语言(比如Node.js),但在PHP中没有看到一种轻松控制设置环境变量的方法,特别是在开发中。在Node.js中,dotenv库非常适合这种情况,后来我在PHP中,发现vlucas已经创建了phpdotenv,我准备将这个库应用到PHP项目中。

在PHP中管理环境变量

  管理环境变量

  在开发环境下,我们的代码应该从本地读取文件而不是实装环境变量中读取变量。这样可以更容易地切换项目,我们可以为每个项目编写一个文件,不必重新导出环境变量(或者在切换项目时没有启动新的shell,某些环境变量是错误的)。另外,可能在为其他人编写代码时,例如示例应用程序或入门工具包,.env文件中提供了设置所需值的清晰列表。

  .env配置文件

  通常,我用两个文件:

  .env是将从中读取实际值的文件。将文件名放入.gitignore,以便在提交时不会将您的实际环境/配置也提交到git中!

  .env-example只保存用户设置项目所需的键,而不包括值。这样在后面可以轻松复制此文件并把空白值处填写完整,以使事情顺利进行。

  请注意,我们也可能需要一些用于生产环境的开关,比如CI框架中系统设置的环境变量,它不用部署.env。

  .env文件内容类似如下所示:

  AWESOME_API_KEY=abc123

  AWESOME_API_SECRET=abcdef0123456789

  如果值已经存在,我们就可以在PHP应用程序使用它们。

  PHPdotenv

  首先,我们需要使用Composer将phpdotenv包(https://github.com/vlucas/phpdotenv)添加到你的项目中:

  composer require vlucas/phpdotenv

  然后,在代码中添加这样的东西到index.php的头部或框架中相关设置的地方(如require “vendor/autoload.php”后可能是一个正确的地方)。代码如下:

  $dotenv = new DotenvDotenv(__DIR__);

  $dotenv->load();

  然后,所有变量都可以在自己期望的地方使用,比如$_ENV[\'AWESOME_API_KEY\']。

  这样在开发中使用环境变量就像使用配置文件一样简单,感谢Vance同学创建这个优秀的库~

以上是关于PHP环境里的伪静态页面中,如何将JS变量传给其它变量的参数?的主要内容,如果未能解决你的问题,请参考以下文章

WordPress伪静态规则设置

destoon适合百度蜘蛛的伪静态

如何配置thinkphp的伪静态重写

如何将js的变量在php中使用

实用PHP各环境下的伪静态配置,可直接用

PHP在Apache/Nginx/IIS环境下的伪静态配置