audioteechnica
2015-04-30 04:14
采纳率: 100%
浏览 3.2k

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方法里的回调函数总是不能执行。
因此想请教下原因,谢谢

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • danielinbiti 2015-04-30 05:11
    已采纳

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

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

    已采纳该答案
    打赏 评论
  • audioteechnica 2015-04-30 17:48

    改成这样就OK了

     def indicator(request):
        callback = request.GET['callback']
        return HttpResponse('%s(%s)'%(callback, json.dumps({"HTTPRESPONSE":1})))
    
    打赏 评论
  • 本站大佬 2020-11-01 10:31

    千万别给我删了,不知道怎么收藏,留条以后看的路。

    打赏 评论

相关推荐 更多相似问题