Jquery 使用JSON发送数组
我将此代码用于选项标记的post文本:Jquery 使用JSON发送数组,jquery,json,Jquery,Json,我将此代码用于选项标记的post文本: $("#major_names").change(function () { $.post('find_lesson.php', { dars:$("#major_names option:selected").text() }, function(data){ if (data.success) $("div").append(data.doroos);
$("#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_课程文件中,我使用此代码从数据库中获取任何记录
<?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);
?>
更改
$data ['doroos']= $result['title'];
到
您基本上是在覆盖doroos
。相反,使用[]
将每个$result['title']
添加到doroos
更改中
$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);
?>
您应该执行以下操作。否则,“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);
?>
你好。更改后,我在firebug中遇到此错误:NS_error_XPC_BAD_CONVERT_JS:无法转换JavaScript参数arg 0[nsIDOMDocumentFragment.appendChild][Break On this error]fragment.appendChild(脚本);这是一个javascript错误。执行警报(data.doroos)
并告诉你得到了什么。你好。更改后,我在firebug中遇到此错误:NS_error_XPC_BAD_CONVERT_JS:无法转换JavaScript参数arg 0[nsIDOMDocumentFragment.appendChild][Break On this error]fragment.appendChild(脚本);这是一个javascript错误。执行alert(data.doroos)
并告诉你得到了什么。我现在得到了这个错误:NS\u error\u XPC\u BAD\u CONVERT\u JS:无法转换JavaScript参数arg 0[nsIDOMDocumentFragment.appendChild][Break On this error]fragment.appendChild(脚本);jquery-latest.js(第6497行)POST 200 OK 35ms jquery-latest.js(第8240行)HeadersPostResponseHTMLJSONCookies{“doroos”:[],“success”:true}更改代码后为:$data['doroos']=array()$x=0;而($result=mysql_fetch_assoc($sql)){$data['doroos'][$x++]=$result['title'];}$data['success']=true;echo json_encode($data);?>我可以在firebug:{“doroos”:[“\u0627\u0646\u0633\u0627\u0646\u0634\u0646\u0627\u0633\u06cc”],“success”:true}中得到这个结果,但我不能用这一行来表示:if(data.success)$(“div”).append(data.doroos);我现在得到了这个错误:NS\u error\u XPC\u BAD\u CONVERT\u JS:无法转换JavaScript参数arg 0[nsIDOMDocumentFragment.appendChild][Break On this error]fragment.appendChild(脚本);jquery-latest.js(第6497行)POST 200 OK 35ms jquery-latest.js(第8240行)HeadersPostResponseHTMLJSONCookies{“doroos”:[],“success”:true}更改代码后为:$data['doroos']=array()$x=0;而($result=mysql_fetch_assoc($sql)){$data['doroos'][$x++]=$result['title'];}$data['success']=true;echo json_encode($data);?>我可以在firebug:{“doroos”:[“\u0627\u0646\u0633\u0627\u0646\u0634\u0646\u0627\u0633\u06cc”],“success”:true}中得到这个结果,但我不能用这一行来表示:if(data.success)$(“div”).append(data.doroos);