/ / jQuery.get () nedostáva odpoveď od django http - jquery, django, httprequest

jQuery.get () nedostáva odpoveď od django http - jquery, django, httprequest

Zvláštne - zdá sa mi, že na prečítanie odpovede z django.HttpResponse nepoužijem jQuery.get ().

Z Djangovho konca mám názor:

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

A URL:

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

A keď navštívim http://localhost:8000/hello/„Vidím„ Hello World “podľa očakávania.

Na svojej webovej stránke to však robím takto:

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

V firebug vidím požiadavku, ale odpoveď je prázdna, aj keď django požiadavku videl a odpoveď spracoval.

Uniká mi niečo? Je to problém jQuery alebo vec django.HttpResponse?

odpovede:

2 pre odpoveď č. 1

Nemôžete požiadať o inú doménu, ako je táto (spadá pod ňu iný port), je blokovaná serverom rovnaká politika pôvodu. Nie je to vec jQuery alebo Django, to je to, ako prehliadač implementuje zabezpečenie pre objekt XmlHttpRequest.

Ak chcete požiadať o inú doménu, musíte použiť jsonp na vytiahnutie údajov.