ajax获取PHP多维数组,从php数组获取数据 – AJAX – jQuery

  • Post author:
  • Post category:php


从php数组获取数据 – AJAX – jQuery

我有一个页面如下;

prev X next

和一个PHP文件ajax.php来处理Ajax请求;

但是当我点击,我得到A而不是数组[0]。 我怎样才能解决这个问题?

提前致谢…

你不能从js尝试访问数组(PHP数组)

和js

$(document).ready( function() { $(‘#prev’).click(function() { $.ajax({ type: ‘POST’, url: ‘ajax.php’, data: ‘id=testdata’, dataType: ‘json’, cache: false, success: function(result) { $(‘#content1’).html(result[0]); }, }); }); });

很可能是最简单的方法…

<?php $change = array(‘key1’ => $var1, ‘key2’ => $var2, ‘key3’ => $var3); echo json_encode(change); ?>

然后,jQuery脚本…

当你echo $array; ,结果是Array , result[0]表示Array的第一个字符,即A

处理这个问题的一种方法是这样的:

ajax.php

jQuery代码

$(function(){ /* short for $(document).ready(function(){ */ $(‘#prev’).click(function(){ $.ajax({type: ‘POST’, url: ‘ajax.php’, data: ‘id=testdata’, cache: false, success: function(data){ var tmp = data.split(“,”); $(‘#content1’).html(tmp[0]); } }); }); });

你不能从js尝试访问数组(PHP数组)

和js

$(document).ready( function() { $(‘#prev’).click(function() { $.ajax({ type: ‘POST’, url: ‘ajax.php’, data: ‘id=testdata’, cache: false, success: function(data) { result=data.split(‘~’); $(‘#content1’).html(result[0]); }, }); }); });

当你做echo $array; ,因为PHP不能将一个数组转换为一个string,所以PHP会简单地回显’Array’。 所以你实际得到的’A’是Array的第一个字母,这是正确的。

你可能真的需要

echo json_encode($array);

这应该得到你想要的。

编辑 :显然,你需要改变你的JS与JSON的工作,而不是只是文本(由@genesis指出)