Устранение неполадок http-запроса и сообщения json в django

Хорошо, я занимаюсь этим некоторое время, и, похоже, я никуда не денусь. Я запускаю приложение Django с Nginx и uwsgi. У меня есть http.post, и я пытаюсь даже прочитать те элементы, по которым у меня постоянно возникают ошибки.

Вот как выглядит мой JS-код:

$scope.receipt_pay_update = function(items)
{ 

  response = confirm("Do you want to continue with the changes?");
if(!response){

  return;
  }
  var data = {
        'items': items,
        'time_now': moment().format("YYYY-MM-DD")
    };
  items.showmessage = true;
  console.log(data)
       $http.post("/foodhub/dashboard/receipt_pay_modal_update", data,{
           data: JSON
       }).
       success(function(data,status,headers,config){
        $scope.alertclass = 'alert-success';
        $scope.save_message_farmer = "Succcessfully update payment"
        console.log("SAVED!")
       }).
       error(function(data,status,headers,config){
        $scope.alertclass = 'alert-danger';
        $scope.save_message_farmer= "Failed to update inventory, please try again"
       })
}

Вот как выглядит мой views.py:

@login_required

def receipt_pay_modal_update(request):
import sys
reload(sys)
sys.setdefaultencoding('utf8')


data = json.loads(request.body)['items']

print data

rec = ReceiverActions.objets.get(identifier = data[0]['identifier'])

rec['paid_check'] = data[0]['paid_status']
rec['date_paid'] = data[0]['paid_date']

rec.save()
return HttpResponse(status=status.HTTP_200_OK)
  1. У меня возникла ошибка: не могу расшифровать JSON. Поэтому я попробовал data = request.body[0], который тоже не работал.
  2. Есть ли другой способ протестировать небольшие изменения на моем сервере, не выполняя Git push, Git Pull, Python -m compileall. И т. Д.? Причина, по которой я спрашиваю, заключается в том, что меня научили делать это на практике, и я чувствую, что есть способ получше.
  3. Где я могу проверить свой print data?

Любая помощь будет высоко ценится.

stackoverflow.com/a/25969583/8150371
Stack 13.09.2018 19:43

Я получаю File "/usr/lib/python2.7/json/decoder.py", line 384, in raw_decode raise ValueError("No JSON object could be decoded") ValueError: No JSON object could be decoded

Andy Nguyen 13.09.2018 20:02

попробуйте print request.body, чтобы посмотреть, не пусто ли тело

Stack 13.09.2018 20:04

Вроде пусто. Если только я не делаю что-то не так. В console.log(data) прямо перед тем, как я сделаю запрос, есть данные.

Andy Nguyen 13.09.2018 20:09

есть проблема с вашим JS-кодом

Stack 13.09.2018 20:09
0
5
43
1

Ответы 1

Оказывается, data, который я получал, не подходил для JSON. Я вернулся и изменил запрос на отправку данных в виде json, и он отлично сработал.

Другие вопросы по теме