将数组从jquery传递到python函数时,如何设置url?

问题描述

如何将jquery中的参数传递给python方法

JQUERY

const fruits = ['Apple','Mango','Orange','Grapes']
   function sendfruitstoPython() {
       $.ajax({
       url: 'Getfruits',type: "POST",data: { Fruit : fruits },success: callbackFunc
    });

function callbackFunc(response) {
        console.log("demo");
    }
}

PYTHON

def Getfruits(request):
    demo = request.GET.getlist('Fruit')
    print("this is ",demo)

输出 这是[]

URL模式:

path('Getfruits',views.Getfruits,name='Getfruits')

它也尝试过...

JQUERY

function sendfruitstoPython() {
       $.ajax({
       url: 'Getfruits'+ fruits,success: callbackFunc
    });

PYTHON
def def Getfruits(request,fruits) :
    demo = request.POST.getlist('fruits')
    print("this is ",demo)
   
URL PATTERN
path(r'^Getfruits/(?P<Fruit>\w+)/$',name='Fruit'),

它给我错误,因为当前路径Extractor / Getfruits [object set]与任何这些都不匹配。

在控制台中,我正在获取此.. 找不到:/ Extractor / Getfruits [对象集] [09 / Nov / 2020 18:27:56]“ POST / Extractor / Getfruits [object%20Set] HTTP / 1.1” 404 3340

解决方法

JQUERY

const fruits = ['Apple','Mango','Orange','Grapes']
function sendfruitstoPython() {
      var selfruit = Array.from(fruits);    
       $.ajax({
       url: 'Getfruits/'+selfruit,type: "POST",success: callbackFunc
    });

function callbackFunc(response) {
        console.log("demo");
    }
}

PYTHON URL模式

path('Getfruits/<selfruit>',views.Getfruits)

PYTHON方法

@csrf_exempt    
def Getfruits(request,selfruit):
li = list(selfruit.split(","))