您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息
免费发信息
三六零分类信息网 > 盐城分类信息网,免费分类信息发布

php 返回数组给JS的问题

2024/4/11 20:06:13发布16次查看
php端loadmenu.php
$page = $_post [page];
$xml = simplexml_load_file('menu.xml'); 
$root=$xml->$page;
$arrjson=array();
$arrjson[key]=$root->attributes()->key;// 获取菜单的名称key
        echo json_encode($arrjson);
?>
js端
function process_menu()
{
var url = loadmenu.php ;
var params = {'page':nowweb};
$.post(url,params,function(data){menu_back(data);});
}
function menu_back(response)
{
alert(response);

最后弹出的信息是: {key:{0:\u8868\u5355\u7ba1\u7406}}
为什么不是 {key:菜单名}?
回复讨论(解决方案) function process_menu()
{
var url = loadmenu.php ;
var params = {'page':nowweb};
$.post(url,params,function(data){menu_back(data);});
}
$.ajax({
   type: post,
   url: url,
   data: params ,
   datatype: jason,
   success: function(response){
     menu_back(response);
   }
});
function menu_back(response)
{
alert(response);

function process_menu()
{
var url = loadmenu.php ;
var params = {'page':nowweb};
$.ajax({
   type: post,
   url: url,
   data: params ,
   datatype: jason,
   success: function(response){
     menu_back(response);
   }
});
function menu_back(response)
{
alert(response);

function process_menu()
{
var url = loadmenu.php ;
var params = {'page':nowweb};
$.post(url,params,function(data){menu_back(data);});
}
$.ajax({
   type: post,
   url: url,
   data: params ,
   datatype: json,
   success: function(response){
     menu_back(response);
   }
});
function menu_back(response)
{
alert(response);

function process_menu()
{
var url = loadmenu.php ;
var params = {'page':nowweb};
$.post(url,params,function(data){menu_back(data);});
}
$.ajax({
   type: post,
   url: url,
   data: param……
也不对,弹出是 [object object]
    datatype: jason,
datatype:  json,
你的response是字符串吧。。不是json对象
datatype: jason,
datatype: json,
你的response是字符串吧。。不是json对象
php端loadmenu.php
$page = $_post [page];
$xml = simplexml_load_file('menu.xml'); 
$root=$xml->$page;
$arrjson=array();
$arrjson[key]=$root->attributes()->key;// 获取菜单的名称key
        echo json_encode($arrjson);
?>
这样有问题么?
我比较奇怪的是:
1、$root->attributes()->key 不会报错吗?
2、弹出的信息是: {key:{ 0:\u8868\u5355\u7ba1\u7406}}
这个 0 是从哪里来的?
你最好贴出 menu.xml 的片段,测试一下
引用 5 楼 ohmygirl 的回复:datatype: jason,
datatype: json,
你的response是字符串吧。。不是json对象
php端loadmenu.php
$page = $_post [page];
$xml = simplexml_load_file('menu.xml'); 
$root……
header(content-type:application/json;charset=.............);
var params = {'page':nowweb};  //这个 nowweb 定义了吗,如果没有,要用引号括起来
先检测php那边返回数据是否正常
我比较奇怪的是:
1、$root->attributes()->key 不会报错吗?
2、弹出的信息是: {key:{0:\u8868\u5355\u7ba1\u7406}}
这个 0 是从哪里来的?
你最好贴出 menu.xml 的片段,测试一下
member
jbxx
人口基本信息
member
人口户籍信息
housereg
djxx
党员基础信息
partymember
党员奖惩信息
pmreandpu
党费缴纳管理
pmdues
党费活动管理
dymeetinginfo
工会活动管理
unionmeeting
qygl
csxx
fwgl
csxx
各位,这个问题是不是中文乱码的问题?
var params = {'page':nowweb};  //这个 nowweb 定义了吗,如果没有,要用引号括起来
先检测php那边返回数据是否正常
php那边没有问题
各位,这个问题是不是中文乱码的问题?
不是乱码。不过是json格式下的中文的utf-8编码。
urldecode可以看到正常输出的中文。不过这是没有必要的。因为js中处理json也是按照utf-8的格式处理的
这样写 $page = $_post [page];$xml = simplexml_load_file('menu.xml'); if($root = $xml->$page) { //可能传过来的参数是无效的 $arrjson = array(); $arrjson[key] = current($root->attributes()->key);// 获取菜单的名称key echo json_encode($arrjson);}
function process_menu(nowweb) { var url = loadmenu.php ; var params = {'page':nowweb}; $.post(url,params,function(data){ menu_back(data); }, 'json');}function menu_back(response) { alert(response.key);}process_menu('form'); //测试一下
你先直接访问php看输出有没有问题,如果有问题,就是php那边的问题
function menu_back(response)
{
response = eval('('+response+')')
alert(response);

盐城分类信息网,免费分类信息发布

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录