Django+Jquery getJSON方法无法调用回调函数

html部分是这样:

 <a href="javascript:;" class="btn blue" id="send">Submit</a>

Jquery部分是这样:

$(function(){
      $('#send').click(function(){
        $.getJSON("localhost:8000/indicator?jsoncallback=?",
            function(data){
                if (data["HTTPRESPONSE"] == 1){
                    alert("success");
                }
            });
    });
})

Django View.py是这样:

 def indicator(request):
         json_data = json.dumps({"HTTPRESPONSE":1})
             return HttpResponse(json_data, mimetype="application/json")

Django urls.py里是这样:

url(r'^indicator/$', 'Django.views.indicator'),

但是结果是JQuery中getJSON方法里的回调函数总是不能执行。
因此想请教下原因,谢谢

2个回答

这是jsonp格式的,你后台返回的是jsonp格式吗?django不熟悉,但看着不像是jsonp的格式,jsonpCallback({msg:'this is json data'})

http://justcoding.iteye.com/blog/1366102

audioteechnica
audioteechnica 果然就是这个问题,AJAX的跨域问题,在Django View.py中是应该返回JSONP的!谢谢大神!
4 年多之前 回复
audioteechnica
audioteechnica 果然就是这个问题!Django
4 年多之前 回复

改成这样就OK了

 def indicator(request):
    callback = request.GET['callback']
    return HttpResponse('%s(%s)'%(callback, json.dumps({"HTTPRESPONSE":1})))
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问