/ / jQuery.get () non riceve risposta da django http - jquery, django, httprequest

jQuery.get () non riceve risposta da django http - jquery, django, httprequest

Strano - Non riesco a usare un jQuery.get () per leggere la risposta da un django.HttpResponse.

Dalla fine di Django, ho una visione:

def hello(request):
return HttpResponse("Hello world", content_type="application/html")

E URL:

urlpatterns = patterns("",
("^hello/$", hello),

E quando visito http://localhost:8000/hello/, Vedo "Hello World" come previsto.

Nella mia pagina web, però, lo faccio:

<html><head>
<script src="/asgapp/lib/jquery/jquery-1.4.3.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#testdiv").html("initial");
$.get("http://localhost:8000/hello/", function(data){
if(data){
$("#testdiv").html(data);
}
else{
$("#testdiv").html("no data");
}});
});
</script>
</head>
<body>
<h1>test page</h1>
<div id="testdiv">(empty)</div>
</body>
</html>

In firebug, vedo la richiesta, ma la risposta è vuota, anche se django ha visto la richiesta ed elaborato la risposta.

Mi sto perdendo qualcosa? Si tratta di un problema jQuery o di una cosa di django.HttpResponse?

risposte:

2 per risposta № 1

Non puoi fare una richiesta ad un altro dominio come questo (una porta diversa cade sotto questo), è bloccata dal stessa politica di origine. Non è una cosa jQuery o Django, è come il browser implementa la sicurezza per l'oggetto XmlHttpRequest.

Per effettuare una richiesta a un altro dominio, è necessario utilizzare JSONP tirare i dati.