Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/267.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/440.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 为javascript ajax响应添加不同的数据类型_Php_Javascript_Ajax_Jquery - Fatal编程技术网

Php 为javascript ajax响应添加不同的数据类型

Php 为javascript ajax响应添加不同的数据类型,php,javascript,ajax,jquery,Php,Javascript,Ajax,Jquery,我遇到了这个问题,是否有任何合理的方法可以在一个XHR请求中以某种方式返回两种类型的数据?例如,我想返回一个包含一些数据的html,但除此之外,还有一些JSON或纯文本中的变量 在本例中,我正在进行ajax分页,有一个请求返回带有下一个结果的html,但我还需要一个整数,其中包含从服务器返回的结果总数 我看到两种选择: 发出另一个XHR请求只是为了从服务器获取总计数 将数据放在html中的某个属性中 但这两种方式似乎都不优雅 你知道如何实现吗?返回一个JSON编码的数组 $return =

我遇到了这个问题,是否有任何合理的方法可以在一个XHR请求中以某种方式返回两种类型的数据?例如,我想返回一个包含一些数据的html,但除此之外,还有一些JSON或纯文本中的变量

在本例中,我正在进行ajax分页,有一个请求返回带有下一个结果的html,但我还需要一个整数,其中包含从服务器返回的结果总数

我看到两种选择:

  • 发出另一个XHR请求只是为了从服务器获取总计数
  • 将数据放在html中的某个属性中
但这两种方式似乎都不优雅


你知道如何实现吗?

返回一个JSON编码的数组

$return = array(
    'html' => '<div><!-- insert a lot of html here --></div>',
    'productId' => 3,
    'someArray' => array(1, 2, 3, 'string')
);
echo json_encode($return);

为什么不将html插入json呢?只需将整数和html字符串粘贴到一个数组中,并对该数组进行json编码,将其发送到客户端,然后根据需要使用它。
obj = JSON.parse(data); // data is return from the ajax request.