我的ajax是:
$('#save').click(function(){
$.post("http://127.0.0.1:8080/sss",
function(data){
alert(data);
});
})
和django视图是:
def sss(request):
return HttpResponse('ddddddddddd')
如何从视图's'获取一些数据
感谢
答案 0 :(得分:1)
您正在遇到cross domain issues。您无法对不同的域执行ajax调用。您可以使用JSONP代替(查看文档中的Flickr示例,它演示了跨域ajax请求)。您的服务器需要以JSONP字符串形式发送数据:
def sss(request):
return HttpResponse('someCallbackName({ Data = 12345 })')
其中someCallbackName
应该是动态的并作为请求参数传递。一个重要的注意事项是JSONP仅适用于GET
方法,而不适用于POST
。
答案 1 :(得分:0)
进行跨域脚本编写的黑客是使用urlopen读取数据并返回您收到的数据
在domain1上
import urlllib2
def getdata(req)
redirectstr = "http://domain2.com/call/that/returns/data/"
#make call to domain2
resp = urllib2.urlopen(redirectstr)
return HttpResponse( resp.whatever() )