gpt4 book ai didi

jquery - 从 django views.py 获取数据并使用 ajax 显示它

转载 作者:太空狗 更新时间:2023-10-29 15:28:59 25 4
gpt4 key购买 nike

已编辑

我正在尝试使用 jquery/ajax 来显示从 django 方法返回的数据。

我有一个名为 keywordBtn 的 html 按钮。因此,当它被按下时,将调用 updateKeywordSubscribed 方法。

但是,我的对象没有被 django 返回。是我的方法有问题吗?

如果成功,div 部分名称“update”将显示该 json 列表中的单词列表。

我的 html 中有什么:

<script type="text/javascript">
$(document).ready(function() {
$("#keywordBtn").click(function(e) {
updateKeywordSubscribed(e, "#keywords");
});
});
function updateKeywordSubscribed(e, keywords) {
e.preventDefault();
var option_form = jQuery(e.target);
$.ajax({
url : option_form.attr('action'),
type : option_form.attr('method'),
data : option_form.serialize(),
dataType : 'json',
success : function(response) { alert ('sometext')})
}
</script>

我的 views.py 中有什么:

def keyword_subscribe(request):
if 'keyword_input' in request.POST:
if 'name_input' in request.POST:
xhr = request.GET.has_key('xhr')
response_dict = {}
new_keyword = request.POST['keyword_input']
username = request.POST['name_input']
response_dict.update({'keyword_input': new_keyword, 'name_input': username})
power_keyword = subscribe_keyword(username,keywords)
if power_keyword:
response_dict.update({'success':True})
else:
response_dict.update({'errors':{}})
if not username:
response_dict['errors'].update({'name_input': 'User ID is required'})
if not total and total is not False:
response_dict['errors'].update({'keyword_input': 'Keyword field is blank'})
if xhr:
return HttpResponse(simplejson.dumps(response_dict), mimetype='application/javascript')
return render_to_response('r2/userprofile_list.html', response_dict)

最佳答案

我正在做的事情与您在我当前项目中需要的事情类似。

我得到这个返回 geojson 结果或 null 的邮政编码 View

我的观点:

def get_zipcode(request, latitude, longitude):
# Point on a map
point = GEOSGeometry('POINT(%s %s)' % (longitude, latitude))

try :
zipcodes = Zipcode.objects.filter(mpoly__contains=point)
return HttpResponse(zipcodes[0].mpoly.geojson, mimetype="application/json")
except :
return HttpResponse(json.dumps(None), mimetype="application/json")

我的 mimetype 是 application/json 而不是 application/javascript

我的网址:

url(r'^collision/zipcode/(?P<latitude>(\-|)\d+\.\d+)/(?P<longitude>(\-|)\d+\.\d+)/', 'core.views.get_zipcode', name='collision-zipcode'),

调用并处理json结果的JS

$.ajax({
url : '/collision/zipcode/' + latitude + '/' + longitude + '/',
dataType : 'json',
type : 'GET',
success: function(data)
{
var paths = coord_to_paths(data.coordinates);
var polygon = new google.maps.Polygon({
paths : paths,
strokeColor : "#FF7800",
strokeOpacity : 1,
strokeWeight : 2,
fillColor : "#FF7800",
fillOpacity : 0.6
});

polygon.setMap(map);

console.log("adding zipcode polygon");
}
});

请注意,如果您正在检索 json,如果您将 dataType 设置为“json”,您应该作为 JS 本地人在您的成功函数中访问数据。

如果您需要调试 jquery 实际检索的数据,请执行

console.log(data);
然后在你的开发控制台中查看你的浏览器(chrome/ff 我不知道其他浏览器是否支持这个)

关于jquery - 从 django views.py 获取数据并使用 ajax 显示它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9465553/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com