我正在使用.get从db
中获取单词列表$.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;
问题是它只返回单词Array,而不是我要求的单词列表 可能是什么解决方案?
答案 0 :(得分:1)
您正在构建阵列服务器端,并尝试将其传递回客户端。由于PHP没有隐含地知道你想要一个JavaScript对象,它会按照它认为的那样做,并打印出类型。
使用json_encode()
从PHP返回JSON:
json_encode( $php_array );
您可以在以下示例中看到区别:
$array = array( 'Foo' => 'bar' );
echo $array; // Array
echo json_encode( $array ); // {"Foo":"bar"}
从您的$.get()
,确保将响应类型声明为JSON(或者考虑使用$.getJSON()
代替),然后您可以遍历其内容。