我正在一个小型网站上工作,我需要通过JSON发送线程数据。
这是django服务的JSON对象:
[{"text":"Some sample text","id":"21","title":"Test Thread"}]
我将其保存为.js文件,以下Javascript代码正常工作:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"> </script>
<script>
$(document).ready(function(){
$("button").click(function(){
$.getJSON("testjson.js",function(result){
$.each(result, function(i, field){
$("div").append(field.text + " ");
});
});
});
});
</script>
但是当我将getJSON url字段更改为:
时// localhost / wall / 21 / - format:// localhost / wall / thread_id
它什么也没显示。 firefox的web控制台也没有显示任何错误。
我的观看代码如下:
def thread_view(request, wall, Id):
if request.method == 'GET':
thread = api.get_thread(wall, Id)
if thread != None:
return HttpResponse(thread, content_type="application/json")
else:
return HttpResponse("No results")
else:
raise Http404
它从数据库获取信息并使用简单的序列化器将其格式化为json,然后发送数据。
我错过了什么?
以下额外信息......
串行:
from bson import json_util
class JSONSerializer(object):
def dumps(self, obj):
return json_util.dumps(obj, separators=(',', ':')).encode('utf-8')
def loads(self, data):
return json_util.loads(data.decode('utf-8'))
我正在使用Django 1.6,JQuery 1.1,Python 2.7
P.S 当我输入以下网址时: //本地主机/壁/ 21 / firefox显示JSON对象就好了,它与js文件中的完全相同。
任何帮助将不胜感激。