alves077 Posted July 13, 2013 at 08:57 PM Report #518663 Posted July 13, 2013 at 08:57 PM Boa noite, Tenho um programa que queria ir buscar a uma API determinados dados com o ajax ou getjson, mas já experimentei de várias formas, mas dá sempre erro, segundo a console do chrome aparece: Failed to load resource: the server responded with a status of 401 (OK) Às vezes aparece só o erro GET (...url...) 401 (ok) Nunca consigo obter os valores da API, aqui vai um excerto do código em js: function teste(){ var link = "https://api.ost.pt/routes/525/?key=esqWxsXhuufedcMDRBUhEFhOQevQJQeQWyFryvuI&jsoncallback=?"; $.getJSON(link, function(data){ $("#txtHint").append("<li>'"+data[i].route_short_name + "</li>" ); }); } Alguém me consegue ajudar? Obrigado pela atenção, alves077
taviroquai Posted July 13, 2013 at 11:14 PM Report #518671 Posted July 13, 2013 at 11:14 PM Acho que isso acontece quando existe um .htaccess que pede autenticação mas não tenho a certeza...
brunoais Posted July 14, 2013 at 10:53 AM Report #518689 Posted July 14, 2013 at 10:53 AM http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.2 "[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31 Life is a genetically transmitted disease, induced by sex, with death rate of 100%.
alves077 Posted July 14, 2013 at 02:40 PM Author Report #518701 Posted July 14, 2013 at 02:40 PM Hm.. algo me está a escapar, já tinha visto algo que podia ser da autenticação, mas nunca precisei de qualquer tipo de autenticação, não percebo porque precisa de autenticação. Quando busco dados da mesma API, com o php têm o resultado esperado, agora com o getjson é que está difícil. Com o php tenho $jsonurl="...."; $json = file_get_contents($jsonurl,0,null,null); $json_output = json_decode($json,true); $teste = $json_output['Meta']['paginated_object']; Assim consigo chegar aos valores dados pela API, com o getjson que tinha em cima dá me erro, pelo que parece tenho que me autentica, só não percebo muito bem como. Ainda sou iniciante no meio js, por isso não sei se isto é normal, mas na consola do chrome o url que me aparece com o tal erro tÊm acrescentado alguns valores que não era suposto, por exemplo: https...&jsoncallback=jQuery1102005094851437024772_1373811177428&_=1373811177429 Isto é suposto? Obrigado pela atenção, alves077
yoda Posted July 14, 2013 at 02:59 PM Report #518704 Posted July 14, 2013 at 02:59 PM Experimenta usar a função $.ajax() em vez do $.getJSON() before you post, what have you tried? - http://filipematias.info sense, purpose, direction
alves077 Posted July 14, 2013 at 03:19 PM Author Report #518707 Posted July 14, 2013 at 03:19 PM jà experimentei, alias tinha a ajax antes mudei para ver o resultado, e o foi o mesmo... $.ajax({ type : "GET", url : "...", dataType : 'jsonp', statusCode: { 401: function (error) { alert("Com INsucesso"); // simply ignore this error console.log(error); } }, data : {'key' : 'esqWxsXhuufedcMDRBUhEFhOQevQJQeQWyFryvuI'}, success: function(json){ alert("Com sucesso"); var options = ""; json = $.parseJSON(json); $.each(json, function(key, value){ options += '<option value"'+key+'">' + value.id+ '</option>'; }); $("#customers1").html(options); }, error : function(jqXhr,estado,erro){ alert("Erro!"); } }); Obrigado pela atenção, alves077
yoda Posted July 14, 2013 at 03:58 PM Report #518709 Posted July 14, 2013 at 03:58 PM Que API é essa? before you post, what have you tried? - http://filipematias.info sense, purpose, direction
alves077 Posted July 14, 2013 at 04:54 PM Author Report #518719 Posted July 14, 2013 at 04:54 PM É um concurso de programação, mas se dá com o php sem problemas não deveria ser problema da API, digo eu... O url estar com aqueles acrescentos que falei é normal? Exemplo: https...&jsoncallback=jQuery1102005094851437024772_1373811177428&_=1373811177429 Já alterei o código algumas vezes e acaba sempre aqui o problema.. Nunca precisei de autenticação para chegar aos dados da API, por isso não é pro ai, acho eu. Obrigado pela atenção, alves077
taviroquai Posted July 15, 2013 at 05:07 PM Report #518832 Posted July 15, 2013 at 05:07 PM (edited) Qual é a versão de jQuery? Sim se consegues com php sem autenticacao aquele erro nao faz sentido... O nome de domínio na url é igual ao dominio da pagina que faz o pedido em ajax? Edited July 15, 2013 at 05:14 PM by taviroquai
alves077 Posted July 15, 2013 at 07:18 PM Author Report #518848 Posted July 15, 2013 at 07:18 PM versão do jquery é jQuery v1.10.2 segundo o que diz o ficheiro quando faço no código <script src="http://code.jquery.com/jquery-latest.min.js"> </script> Não, isto é tenho um servidor que faz o pedido a um domínio exterior. De domínios diferentes. Obrigado pela atenção, alves077
bruno1234 Posted July 15, 2013 at 07:20 PM Report #518849 Posted July 15, 2013 at 07:20 PM O erro pode ter a ver mesmo com o facto de ser um pedido a dominios exteriores. Pesquisa na net por Cross Domain Request e CORS para veres se consegues encontrar alguma solução. Matraquilhos para Android. Gratuito na Play Store. https://play.google.com/store/apps/details?id=pt.bca.matraquilhos
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now