अजीब - मैं "django.HttpResponse से प्रतिक्रिया पढ़ने के लिए jQuery.get () का उपयोग कर सकता हूं।
Django के अंत से, मेरे पास एक दृश्य है:
def hello(request):
return HttpResponse("Hello world", content_type="application/html")
और URL:
urlpatterns = patterns("",
("^hello/$", hello),
और जब मैं आता हूँ http://localhost:8000/hello/, मैं उम्मीद के मुताबिक "हैलो वर्ल्ड" देखता हूं।
मेरे वेबपेज में, हालांकि, मैं यह करता हूं:
<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>
फायरबग में, मैं अनुरोध देखता हूं, लेकिन प्रतिक्रिया खाली है, भले ही django ने अनुरोध देखा है और प्रतिक्रिया संसाधित की है।
क्या मुझे कुछ याद नहीं आ रहा है? यह एक jQuery मुद्दा या एक django.HttpResponse है?
उत्तर:
जवाब के लिए 2 № 1आप इस तरह से एक अन्य डोमेन के लिए एक अनुरोध कर सकते हैं (एक अलग बंदरगाह इस के अंतर्गत आता है), यह द्वारा अवरुद्ध है एक ही मूल नीति। यह एक jQuery या Django चीज़ नहीं है, यह ब्राउज़र XmlHttpRequest ऑब्जेक्ट के लिए सुरक्षा कैसे लागू करता है।
किसी अन्य डोमेन के लिए अनुरोध करने के लिए, आपको उपयोग करने की आवश्यकता है JSONP डेटा खींचने के लिए।