首页 > 解决方案 > 我该如何解决这个问题:/update_item 处的 JSONDecodeError 预期值:第 1 行第 1 列(字符 0)

问题描述

这是我的views.py我该 如何解决这个问题。任何人请帮忙!!!

/update_item 处的 JSONDecodeError 预期值:第 1 行第 1 列(字符 0)

def updateItem(request):
    data = json.loads(request.body)
   productId = data['productId']
   action = data['action']
   print('Action:', action)
   print('Product:', productId)

   customer = request.user.customer
   product = Product.objects.get(id=productId)
   order, created = Order.objects.get_or_create(customer=customer, complete=False)

   orderItem, created = OrderItem.objects.get_or_create(order=order, product=product)

   if action == 'add':
      orderItem.quantity = (orderItem.quantity + 1)
   elif action == 'remove':
      orderItem.quantity = (orderItem.quantity - 1)

   orderItem.save()

   if orderItem.quantity <= 0:
      orderItem.delete()

   return JsonResponse('Item was added', safe=False)

   url = 'http://httpbin.org/status/200'
   r = requests.get(url)

   if 'json' in r.headers.get('Content-Type'):
      js = r.json()
   else:
      print('Response content is not in JSON format.')
      js = 'spam'

这是我的 cart.js 我希望有人能帮助我如果你想检查我的整个项目代码,我准备展示

var updateBtns = document.getElementsByClassName('update-cart')

for (i = 0; i < updateBtns.length; i++) {
    updateBtns[i].addEventListener('click', function(){
        var productId = this.dataset.product
        var action = this.dataset.action
        console.log('productId:', productId, 'Action:', action)
        console.log('USER:', user)

        if (user == 'AnonymousUser'){
            addCookieItem(productId, action)
        }else{
            updateUserOrder(productId, action)
        }
    })
}

function updateUserOrder(productId, action){
    console.log('User is authenticated, sending data...')

        var url = 'update_item'

        fetch(url, {
            method:'POST',
            headers:{
                'Content-Type':'application/json',
                'X-CSRFToken':csrftoken,
            }, 
            body:JSON.stringify({'productId':productId, 'action':action})
        })
        .then((response) => {
           return response.json();
        })
        .then((data) => {
            location.reload()
        });
}

标签: jsondjango

解决方案


推荐阅读