0

我正在使用 .get 从数据库中获取单词列表

$.get( "script/get_words.php", function( data ) {
    alert(data);
    words = data;
    $.each( words, function( k, v ) {
        availableTags[k] = v;
    })
});

$( "#tags" ).autocomplete({
    source: availableTags
});

这是我正在调用的 get_words.php 请求中的 php

$sql = "select answer from questions";
$words =  array();
$result = run_query( $sql );
$i = 0;

// echo "1 $course_is is course_id and  $class_id is class_id <br>" ;   
while ( $row = mysql_fetch_assoc( $result ) ) {
    $words[$i] = $row['answer'];
    //echo $words[$i];
    $i++;   
}

return $words;

它只返回单词数组的问题,而不是我要求的单词列表,可能是什么解决方案?

4

1 回答 1

1

您正在构建一个阵列服务器端,并尝试将其传递回客户端。由于 PHP 并不隐式知道您需要 JavaScript 的对象,因此它会做它认为应该做的事情,并打印类型。

使用以下命令从 PHP 返回 JSON json_encode()

json_encode( $php_array );

您可以在以下示例中看到两者之间的区别:

$array = array( 'Foo' => 'bar' );

echo $array; // Array
echo json_encode( $array ); // {"Foo":"bar"}

在您的$.get()中,请务必将响应类型声明为 JSON(或考虑$.getJSON()改用),然后您可以遍历其内容。

于 2012-04-26T13:02:30.127 回答