2012-08-29 34 views
6

mi problema es:getJSON utilizando una IP no está funcionando

Cuando llamo JSON usando el siguiente código

var url="http://localhost:9000/json"; 
$.getJSON(url, 
function(data){ 
    alert(data['yay']); 
    }); 

Funciona perfecto, pero, mi IP localhost es 10.0.0.145, y cuando sustituya localhost con la dirección IP, ya no funciona

var url="http://10.0.0.145:9000/json"; 
$.getJSON(url, 
function(data){ 
    alert(data['yay']); 
    }); 

Respuesta

6

Estás contraviniendo el componente same origin policy. Si controla el sitio de destino, debe considerar utilizar un estilo de llamada JSONP o habilitar la opción cross domain (crossDomain) en su sitio y en su llamada AJAX.

Su navegador no realizará la llamada, de manera predeterminada, si está violando el mismo origen. Lo sabrás viendo tu tráfico HTTP usando Fiddler, FireBug o Chrome Tools. No verá que su solicitud sea ejecutada. Si ese es el caso, entonces tome uno de los enfoques anteriores.

Espero que esto ayude. ¡Buena suerte!

3

la razón es simplemente la protección de varios dominios: consulta ajax de JSON de otro dominio (aparentemente) sólo puede hacerse si los encabezados específicos se dan por t El servidor.

Le sugiero que lea this complete reference ya que esto es ahora algo esencial de saber para codificar aplicaciones basadas en ajax.

Use el mismo nombre para ambos.

Cuestiones relacionadas