Como chamar url externo no jquery?

Eu estou tentando colocar comentários no Facebook usando jquery.

Mas minha chamada ajax não está permitindo o URL externo.

Alguém pode explicar como podemos usar url externo com jquery?

abaixo está meu código:

var fbUrl="https://graph.facebook.com/16453004404_481759124404/comments?access_token=my_token"; $.ajax({ url: fbURL , data: "message="+commentdata, type: 'POST', success: function (resp) { alert(resp); }, error: function(e){ alert('Error: '+e); } }); 

seu erro xmlhtttprequest dando.

Todas essas respostas estão erradas!

Como eu disse no meu comentário, a razão pela qual você está recebendo esse erro porque o URL falha a ” mesma política de origem “, mas você ainda pode nos a function AJAX para bater em outro domínio, veja resposta Nick Cravers sobre esta questão semelhante :

Você precisa ativar o comportamento JSONP com $ .getJSON () adicionando & callback =? na querystring, assim:

 $.getJSON("http://en.wikipedia.org/w/api.php?action=query&prop=revisions&rvprop=content&titles="+title+"&format=json&callback=?", function(data) { doSomethingWith(data); }); 

Você pode testá-lo aqui.

Sem o uso de JSONP, você está atingindo a política de mesma origem que está impedindo que o XmlHttpRequest recupere qualquer dado.

Com isso em mente, o código a seguir deve funcionar:

 var fbURL="https://graph.facebook.com/16453004404_481759124404/comments?access_token=my_token"; $.ajax({ url: fbURL+"&callback=?", data: "message="+commentdata, type: 'POST', success: function (resp) { alert(resp); }, error: function(e) { alert('Error: '+e); } }); 

JQuery e PHP

No arquivo PHP “contenido.php”:

  

Em html:

   Get Google 

é um problema de script entre sites . Os navegadores modernos comuns não permitem enviar solicitações para outro URL.

google a política de origem mesma javascript

Em poucas palavras, o URL que você está tentando usar deve ter a mesma raiz e protocolo. então http://seusite.com não pode acessar https://yoursite.com ou http://anothersite.com

é absolutamente necessário contornar essa proteção (que está no nível do navegador, como galimy apontou), considere o módulo ProxyPass para o seu servidor web favorito.

Eu acho que a única maneira é usando código PHP internel como MANOJ e Fernando sugerir.

curl post / get no arquivo php no seu servidor -> chamar esse arquivo php com ajax

O arquivo PHP permite dizer (fb.php):

 $commentdata=$_GET['commentdata']; $fbUrl="https://graph.facebook.com/16453004404_481759124404/comments?access_token=my_token"; curl_setopt($ch, CURLOPT_URL,$fbUrl); curl_setopt($ch, CURLOPT_POST, 1); // POST data here curl_setopt($ch, CURLOPT_POSTFIELDS, "message=".$commentdata); // receive server response ... curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $server_output = curl_exec ($ch); echo $server_output; curl_close ($ch); 

Do que usar AJAX GET para

 fb.php?commentmeta=your comment goes here 

do seu servidor.

Ou faça isso com HTML simples e JavaScript do servidor externel:

 Message:    

Oi url deve estar chamando uma function que em troca dará resposta

 $.ajax({ url:'function to call url', ... ... }); 

tente usar / chamando o método facebook da API

Siga os passos simples abaixo você será capaz de obter o resultado

Passo 1 – Crie uma function interna getDetailFromExternal no seu back-end. passo 2- Nesta function chame o url externo usando cUrl como abaixo da function

  function getDetailFromExternal($p1,$p2) { $url = "http://request url with parameters"; $ch = curl_init(); curl_setopt_array($ch, array( CURLOPT_URL => $url, CURLOPT_RETURNTRANSFER => true )); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); $output = curl_exec($ch); curl_close($ch); echo $output; exit; } 

Passo 3 – Chame essa function interna do seu front end usando javascript / jquery Ajax.