发送阵列JSON
我使用选项标记的文字后这段代码:发送阵列JSON
$("#major_names").change(function() {
$.post('find_lesson.php', { dars:$("#major_names option:selected").text() },
function(data){
if (data.success)
$("div").append(data.doroos);
else
alert('mm');
},'json');
return false;
});
现在find_lesson文件我用这个代码从数据库
<?php
$lessonName=$_POST['lesson '];
$query= mysql_query("SELECT * FROM at_*** WHERE title = '{$lessonName}'");
$result= mysql_fetch_array($query);
$sql= mysql_query("SELECT * FROM *** JOIN at_lessons ON . . .");
while($result=mysql_fetch_assoc($sql))
{
$data ['doroos']= $result['title'];
}
$data['success']=true;
echo json_encode($data);
?>
mysql命令获取任何记录是正确的,但在发送数组后我得到1条记录。请帮我
变化
$data ['doroos']= $result['title'];
到
$data ['doroos'][] = $result['title'];
你基本上覆盖doroos
。相反,使用[]
将每$result['title']
添加到doroos
。
你应该像下面这样做。否则,“doroos”将仅具有来自获取结果集的最后一个标题记录。
<?php
$lessonName=$_POST['lesson '];
$query= mysql_query("SELECT * FROM at_*** WHERE title = '{$lessonName}'");
$result= mysql_fetch_array($query);
$sql= mysql_query("SELECT * FROM *** JOIN at_lessons ON . . .");
$doroos = array();
$x = 0;
while($result=mysql_fetch_assoc($sql))
{
$doroos[x++] = $result['title'];
}
$data ['doroos']= $doroos;
$data['success']=true;
echo json_encode($data);
?>
我现在已经收到此错误:NS_ERROR_XPC_BAD_CONVERT_JS:无法转换的JavaScript参数arg 0 nsIDOMDocumentFragment.appendChild] [打破这个错误] \t fragment.appendChild(脚本); jQuery的latest.js(线6497) POST http://aou.ir/ivu/assessment/find_dars.php \t 200 OK \t \t \t为35ms的jquery -latest.js(线8240) HeadersPostResponseHTMLJSONCookies {“doroos”:[],“success”:true} – 2012-08-08 15:22:09
将代码更改为: $ data ['doroos'] = array(); $ x = 0; 而($结果= mysql_fetch_assoc($ SQL)) { $数据[ 'doroos'] [$ X ++] = $结果[ '标题']; } $ data ['success'] = true; echo json_encode($ data); > 我能得到这个结果萤火: { “doroos”: “\ u0627 \ u0646 \ u0633 \ u0627 \ u0646 \ u0634 \ u0646 \ u0627 \ u0633 \ u06cc”], “成功”:真正} (数据成功) $(“div”)。append(data.doroos); – 2012-08-08 15:29:20
我不知道这是可能的。谢谢。 – prageeth 2012-08-08 08:36:10
你好。改变它后我得到这个错误在firebug:NS_ERROR_XPC_BAD_CONVERT_JS:无法转换JavaScript参数arg 0 [nsIDOMDocumentFragment.appendChild] [Break On This Error] \t fragment.appendChild(script); – 2012-08-08 15:18:23
这是一个javascript错误。做'alert(data.doroos)'并告诉你得到了什么。 – Prasanth 2012-08-08 15:22:40