首页 > 解决方案 > 函数中未使用 ajax 返回值

问题描述

索引.php

$(function () {
  $('form').on('submit', function (e) {
    e.preventDefault();
    $.ajax({
        type: 'post',
        url: 'sort.php',
        data: $('form').serialize(),
        success: function (response) {
        $("#hoverdemo").dotHover(response, { img: '665.png' });
        }
      });
    });
  });

排序文件

$array=[{ x: 28100, y: 48500, text: 'A' },{ x: 28100, y: 48500, text:'A' }];
echo $array;

将 $ 数组的值从另一页复制并粘贴到拆分时,响应正在运行:S

标签: phpjqueryjsonajax

解决方案


您需要发送 json 而不是回显数组本身。

更改 echo $array;echo json_encode($array);

php数组的语法也应该是:

$array = [
  ['x' => 28100, 'y' => 48500, 'text' => 'A'],
  ['x' => 28100, 'y' => 48500, 'text' => 'A']
];

// OR
$array = array(
   array('x' => 28100, 'y' => 48500, 'text' => 'A'),
   array('x' => 28100, 'y' => 48500, 'text' => 'A')
);

然后添加dataType:'json'$.ajax选项中,以便将 json 字符串解析为成功回调中的 javascript 数组


推荐阅读