将Javascript变量传递给Django视图.py使用getJSON

2024-10-01 15:36:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我目前有一个javascript变量myVariableToSend包含一个字符串,我需要发送到我的视图,在那里我可以进行原始SQL查询,从数据库收集相应的数据并将其带回javascript。以下是我所拥有的:

Javascript:

function scriptFunction(myVariableToSend){

        $.getJSON("http://127.0.0.1:8000/getData/", myVariableToSend, function(serverdata){
        window.alert(serverdata);
});

视图.py:

^{pr2}$

网址.py:

url(r'^admin/', include(admin.site.urls)),
url(r'^$', startpage),
url(r'^getData/$', getData ),

我不认为我的服务器端脚本(视图.py)因为当我运行我的服务器时,我收到一个http500错误。任何帮助都将不胜感激。谢谢您。在

更新:

当我把我的整个视图.py只有把

def getData(request):

return JsonResponse({"hello":"World"}, safe = False)

我没有遇到任何问题,AJAX请求正常工作。但是当我有原始的getData时,它就不起作用了。当我在我的视图.py公司名称:

some_data = request.GET(myVariableToSend)

,我得到一个错误,数据没有显示


Tags: 数据字符串py视图数据库urlsqladmin
2条回答

如果你想把你的变量发送到视图中的函数,你可以用url来捕获它,如下所示:

$.getJSON('http://127.0.0.1:8000/getData/' + myVariableToSend +'/', function (serverdata) { //do ur work}

然后进来网址.py你有:

^{pr2}$

那么视图.py公司名称:

def get_data(request, my_var):
#do ur work here

回答原始问题:

您的服务器出现故障,可能是因为视图.py在

some_data = request.GET(myVariableToSend)

此处未定义myVariableToSend。所以你应该这样做:

^{pr2}$

除了原来的问题:

如果你想设置你的django应用程序这个。你如果使用django的ORM,可以更轻松地查询数据库。请阅读here。在

另外,如果您想将模型中的数据发送到javascript代码中,您可以通过使用Django REST Framework这样的框架来节省大量时间。在

相关问题 更多 >

    热门问题