所以我正在使用AJAX从数据库中获取行,然后将它们转换为带有变量标识符的数组,这是代码
PHP:
$query_val = $_GET["val"];
$result = mysql_query("SELECT * FROM eventos_main WHERE nome_evento LIKE '%$query_val%' OR local_evento LIKE '%$query_val%' OR descricao_evento LIKE '%$query_val%'");
for($i=0;$i<mysql_num_rows($result);$i++){
$array = array();
$array[$query_val] = mysql_fetch_row($result); //fetch result
echo json_encode($array);
}
这是JavaScript:
$('#s_query').keyup(function(){
var nome = document.getElementById('s_query').value;
$.ajax({
url: 'search.php',
data: '&val='+nome,
dataType: 'json',
success: function(data)
{
console.log(nome);
var image_loc = data.nome[7];
console.log(image_loc);
如果我将行
var image_loc = data.nome[7];
更改为var image_loc = data.nidst[7];
,则效果很好。 Nidst是我搜索的术语。此代码返回错误:
“未捕获的TypeError:无法读取未定义的属性'7'”。
我该怎么办?
最佳答案
用:
var image_loc = data[nome][7];