2015-05-17 88 views
0

我有奇怪的问题:jQuery的自动完成与JSON数据

首先,我有这样的代码:

var countries = dajjson(); 

$('#usluga').autocomplete({ 
    lookup: countries, 
    onSelect: function (suggestion) { 
     alert('You selected: ' + suggestion.ID + ', ' + suggestion.naziv); 
    } 
}); 
}); 

function dajjson() { 
    $.ajax({ 
     url: "autoUsluge.php", 
     type: "POST", 
     async: true, 
     dataType: "html", 

     success: function(data) { 
      console.log(data); 
     }, 
     error: function (data) { 
      console.log(data); 
      console.log('GRESKA NEKA'); 
     } 
    }); 
}; 

我的JSON是 - 功能DAJJSON()的返回:

[{"ID":"4","naziv":"","opis":"Web dizajn","jmere":"komada","kol":"2","cena":"50","valuta":"Eur","popust":"5","porez":"20","user_id":"1"},{"ID":"5","naziv":"","opis":"Programiranje","jmere":"sati","kol":"5","cena":"10","valuta":"Eur","popust":"5","porez":"20","user_id":"1"},{"ID":"6","naziv":"","opis":"Popravka zadnjeg trapa na automobilu Audi","jmere":"komada","kol":"1","cena":"80","valuta":"Eur","popust":"5","porez":"20","user_id":"1"}] 

,并在那里我测试我刚刚得到的代码:

Uncaught SyntaxError: Unexpected token <

+0

'POST'是不提交数据的错误http操作...您可能想使用'GET'。这只是遵循HTTP规范。 – abc123

+0

@ abc123我必须在以前的工作中与Oracle Application Express进行交互,并且它允许的唯一请求是“POST”。我同意你 - 按照规范随时随地......当它不可能时,它可能是一个绝对的噩梦.. –

回答

2

在您使用的任何浏览器(通常是F12或Ctrl-Shift-I或在某处的菜单中)中打开开发人员工具。点击“网络”标签并运行你的代码。

查看对您的AJAX请求的响应。它不会是你所期待的:)

你传递给AJAX的dataType属性告诉服务器你期待什么样的数据。您已将它设置为html,因此您的回复将以HTML格式显示。从外观上看,你真的想要json

+0

也许JSON是问题因为我需要这种格式:var countries = [ {value:'Andorra',数据:'AD'}, // ... {value:'津巴布韦',数据:'ZZ'} ]; –