jquery无法将$.post()的返回值赋值到模板上

不用ajax/////////////////////////////////////////////////////////////jquery代码$.post("my... 不用ajax
/////////////////////////////////////////////////////////////

jquery代码

$.post(
"myurl.php",
{id:id},
function(data){
for(var i=0;i<data.length;i++){
$("#pro").append("<option value='"+data[i]['id']+"'>"+data[i]['name']+"</option>");
}
alert(data);
}
);
/////////////////////////////////////////////////////////////
php代码如

/*获取值的代码*/
print_r($pro);
//echo $pro;
/////////////////////////////////////////////////////////////
现在是 alert(data)显示出来的是个数组 里面的键值都能看到(形式为Array([0]=>array([key]=>value))) 但无法把data赋值给("#pro"),前台显示的是undefine
而且alert(data.length)显示出来的也不正确 不是真实的数组长度

/////////////////////////////////////////////////////////////
请各位高手帮忙看看啊 谢谢~~~~~~~~~~~~~~~
无论php页面中是 print_r还是echo都存在这个问题
展开
 我来答
imatree
2011-11-11 · TA获得超过225个赞
知道小有建树答主
回答量:194
采纳率:0%
帮助的人:142万
展开全部
//jquery代码
$.post(
"myurl.php",
{id:222222},
function(data){
alert(data.arr);
alert(data.strVar);
},
type: json //后端传过来的都是字符窜,前端要指明把字符窜解释成什么类型
);

//php代码如
echo "{arr:[1,2,3,4,5,6,7], strVar: 'xxxxxxxxxxx'}"; //php的数组需要转成json形式的字符窜才行
追问
你好
请再具体说明点儿
//php代码如
echo "{arr:[1,2,3,4,5,6,7], strVar: 'xxxxxxxxxxx'}";
这儿我是个二维数组
该怎么写? 谢谢~~~~~~~~~~~~~~~

type:json 必须放在function的后面么?
追答
$.post方法,第四个参数是数据类型.请查询jquery api 文档

PHP已经提供了内置函数:json_encode() 和 json_decode()
特会说
2011-11-11 · TA获得超过1035个赞
知道小有建树答主
回答量:1799
采纳率:28%
帮助的人:575万
展开全部
$('body').html(data)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
anguangcan
2011-11-11 · TA获得超过135个赞
知道答主
回答量:285
采纳率:0%
帮助的人:153万
展开全部
用js,写代码忘php页面添加数据不就行了attr之类的方法
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式