Jump to content
alves077

[Dúvida] Problema com getJSON / ajax

Recommended Posts

alves077

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

Share this post


Link to post
Share on other sites
taviroquai

Acho que isso acontece quando existe um .htaccess que pede autenticação mas não tenho a certeza...

Share this post


Link to post
Share on other sites
alves077

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

Share this post


Link to post
Share on other sites
alves077

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

Share this post


Link to post
Share on other sites
alves077

É 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

Share this post


Link to post
Share on other sites
taviroquai

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 by taviroquai

Share this post


Link to post
Share on other sites
alves077

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

Share this post


Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.