如何用PHP生成指定格式坐标数据并在JavaScript中接收
问题修正方案
原有代码的三个错误点
json_encode参数使用错误:该函数第一个参数为待序列化的数据,第二个为编码配置项,你需要先把两个坐标点存入同一个二维数组再传入,不要拆分作为两个参数传递。- 输出到JS变量时多余的单引号:
json_encode输出的JSON字符串本身就是合法的JS语法,直接赋值即可,加单引号会将其转为普通字符串,无法作为坐标数组使用。 - 原有JS结构的括号冗余:你预设的
data: [fromphpvalue]多了一层方括号,因为PHP输出的fromphpvalue本身就是包含所有坐标点的数组,不需要额外套层。
正确实现代码
- PHP侧生成数据并传递给JS:
// 构造坐标二维数组 $points = [ ['x' => 62, 'y' => -78], ['x' => 0, 'y' => 74] ]; // 序列化为JSON $fromphpvalue = json_encode($points); // 输出为JS全局变量,不要加单引号包裹 echo "<script>var fromphpvalue = $fromphpvalue;</script>";
- JS侧直接使用即可:
data: fromphpvalue
内容的提问来源于stack exchange,提问作者Hey
相关产品推荐
相关产品推荐

