Javascript Django http响应代码500错误
我试图根据坐标到另一个输入坐标的距离来排列一组坐标。每当我尝试订购时,都会得到错误代码500。有什么想法吗 这是响应代码的图像,我在与GET请求相关的错误代码上画了圈 以下是Django模板中的Javascript:Javascript Django http响应代码500错误,javascript,python,django,Javascript,Python,Django,我试图根据坐标到另一个输入坐标的距离来排列一组坐标。每当我尝试订购时,都会得到错误代码500。有什么想法吗 这是响应代码的图像,我在与GET请求相关的错误代码上画了圈 以下是Django模板中的Javascript: function searchWaypoints() { geocoder.geocode({ 'address': $('#address').val() }, function(results, status) { if (st
function searchWaypoints() {
geocoder.geocode({
'address': $('#address').val()
}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
var position = results[0].geometry.location;
$.get("{% url 'waypoints-search' %}", {
lat: position.lat(),
lng: position.lng()
}, function (data) {
if (data.isOk) {
$('#waypoints').html(data.content);
waypointByID = data.waypointByID;
activateWaypoints();
} else {
alert(data.message);
}
}, 'json');
} else {
alert('Could not find geocoordinates for the following reason: ' + status);
}
});
}
$('#searchWaypoints').click(searchWaypoints);
$('#address').keydown(function(e) {
if (e.keyCode == 13) searchWaypoints();
});
这是URL.py“
以下是views.py中的视图:
def search(request):
'Search waypoints'
# Build searchPoint
try:
searchPoint = Point(float(request.GET.get('lng')), float(request.GET.get('lat')))
except:
return HttpResponse(simplejson.dumps(dict(isOk=0, message='Could not parse search point')))
# Search database
waypoints = Waypoint.objects.distance(searchPoint).order_by('distance')
# Return
return HttpResponse(simplejson.dumps(dict(
isOk=1,
content=render_to_string('waypoints/waypoints.html', {
'waypoints': waypoints
}),
waypointByID=dict((x.id, {
'name': x.name,
'lat': x.geometry.y,
'lng': x.geometry.x,
}) for x in waypoints),
)), mimetype='application/json')
将
mimetype='application/json'
更改为content\u type=“application/json”
或者您也可以在Django中使用JsonResponse
{%url'航路点搜索“%”这可能无法正确呈现,您可以从javascript控制台发布错误吗?还有,为什么您要在json中返回html?我在URL.py中将视图命名为“waypoints search”,因此我认为不会有任何问题。我打开了Firefox调试器,出于某种原因,我没有看到任何错误日志。有什么想法吗?我以为html是在你的dubug标志是真的吗?你能打开你的设置并查找调试吗?json调用发生在哪里?安装firebug并打开它,然后查找任何错误并发布到这里。你了解我的想法。我做了谷歌搜索,找到了答案:我得到了一个新的工具,谢谢你。firebug!T谢谢你。
def search(request):
'Search waypoints'
# Build searchPoint
try:
searchPoint = Point(float(request.GET.get('lng')), float(request.GET.get('lat')))
except:
return HttpResponse(simplejson.dumps(dict(isOk=0, message='Could not parse search point')))
# Search database
waypoints = Waypoint.objects.distance(searchPoint).order_by('distance')
# Return
return HttpResponse(simplejson.dumps(dict(
isOk=1,
content=render_to_string('waypoints/waypoints.html', {
'waypoints': waypoints
}),
waypointByID=dict((x.id, {
'name': x.name,
'lat': x.geometry.y,
'lng': x.geometry.x,
}) for x in waypoints),
)), mimetype='application/json')