通过getJSON将Javascript变量传递给Django views.py
Passing Javascript variable to Django views.py with getJSON
我目前有一个javascript变量myVariableToSend包含一个字符串,我需要发送到我的视图,在那里我可以使原始SQL查询从数据库收集相应的数据,并把它带回我的javascript。以下是我的文件:
Javascript:function scriptFunction(myVariableToSend){
$.getJSON("http://127.0.0.1:8000/getData/", myVariableToSend, function(serverdata){
window.alert(serverdata);
});
Views.py:
def getData(request):
some_data = request.GET(myVariableToSend)
cursor = connection.cursor()
cursor.execute("SELECT Car_ID FROM cars WHERE Carname = %s ", [some_data])
row = cursor.fetchall()
return JsonResponse(row, safe = False)
urls . py:
url(r'^admin/', include(admin.site.urls)),
url(r'^$', startpage),
url(r'^getData/$', getData ),
我不认为我的服务器端脚本(views.py)是工作的,因为当我运行我的服务器,我得到一个http500错误。任何帮助都会很感激。谢谢你。
更新:
我发现,当我注释掉我的整个Views.py,只放
def getData(request):
return JsonResponse({"hello":"World"}, safe = False)
我没有得到任何问题,AJAX请求工作。但当我有原始的getData时,它不起作用。当我在views.py中添加这一行时:
some_data = request.GET(myVariableToSend)
,我得到一个错误,数据没有显示
如果你想发送你的变量到视图函数,你可以用url捕获它,像这样:
$.getJSON('http://127.0.0.1:8000/getData/' + myVariableToSend +'/', function (serverdata) { //do ur work}
在url .py中有:
url(r'getData/(?P<my_var>'w+)/$', views.get_data, name='get_data')
然后views.py:
def get_data(request, my_var):
#do ur work here
回答最初的问题:
您的服务器失败可能是因为views.py语法错误
some_data = request.GET(myVariableToSend)
myVariableToSend
在这里没有定义。所以你应该得到这样的结果:
some_data = request.GET['myVariableToSend']
除了原来的问题:
如果你想这样设置你的django应用,你会很头疼的。如果你使用django的ORM,你可以更容易地查询数据库。点击这里阅读。
另外,如果你想把模型中的数据发送到javascript代码中,你可以使用Django REST框架来节省很多时间。
相关文章:
- 在javascript点击事件中调用django-urls
- Django: AJAX + CSRF POST gives 403
- 我的django模板布尔变量是't在javascript中按预期工作
- django模板没有在AJAX发布后重新加载
- jsi18n-django.catogue没有'不包含任何已翻译的字符串(但是djangojs.mo包含)
- 设计Django中当前导航菜单项的样式
- Django可以'不能在设置中导入ckeditor,但可以在shell中导入
- 如何在不使用ajax的情况下将pair值添加到数组并发送到django中的视图
- Django'支持Javascript文件中的翻译
- Django导航:扩展与innerHTML
- 为什么datetime.strptime在使用Django运行时会抛出错误
- django出现神秘的javascript错误
- 如何从django中的url解析javascript字符串
- Django在使用AJAX时没有接收到新的查询字符串
- django没有访问控制允许删除原始标头
- Javascript to Django views.py?
- 如何传递使用html中复选框选择的表行n将数据传递给views.py-django
- 使用Django 1.8.1中views中的list作为javascript模板中的数组
- 将Python Requests(在Django views.py中)Json数据传递给Javascript
- 通过getJSON将Javascript变量传递给Django views.py