0

以下はajaxコードです。
質問はコメントで

 $.ajax({
            type: "POST",
            url: "dbtryout2_2.php",
            data:datastr,
            dataType: "json",
            success: function(arrayphp)
            {
                              //ARRAYPHP is a json array and iam displaying the
                              //contents of the array one by one as link  
              $.each(arrayphp, function(i, element) {
              var link = $('<a href="#" class="album"><font color="red">' + element + '</font></a>');
              var image='<input type="image" src="img4.jpg" height="30px" width="30px">';

                 $(".searchby .searchlist").append(image).append(link); 
                });

            }
         });

上記のコードは機能していません.json配列を適切に使用していません.以下はphpコード/ PHPコード/

if(!strcmp($_REQUEST['id'],'a2'))
{
 $lang=$_REQUEST['lang'];$type=$_REQUEST['type'];
 $query="select distinct(cat_name) from song where lang='$lang' and category='$type'"; 
 $result=mysql_query($query,$con) or die("Query failed".mysql_error());

 $arrayphp=array();
while($row=mysql_fetch_array($result))
{
    $element=$row['cat_name'];
        array_push($arrayphp,$element);
}
    //here is the json array that is being sent to the above html code
  echo json_encode($arrayphp);
} 
4

1 に答える 1

0

PHP から渡した文字列を適切な JSON オブジェクト/配列に変換してから、javascript オブジェクト/配列として使用できるようにする必要があります。

success: function(arrayphp) {
    arrayphp = jQuery.parseJSON(arrayphp);  // will make proper json from a json string
                          //ARRAYPHP is a json array and iam displaying the
                          //contents of the array one by one as link  
    $.each(arrayphp, function(i, element) {

    ....
于 2013-08-28T15:40:52.787 に答える