2013-03-20 4 views
0

Я пытаюсь получить форму нашего нокаута для отправки в php-скрипт, и я получаю undefinedIndex ошибки. Я уверен, что это то, как мы отправляем данные в нашей функции ajax.Нокаут и запрос на отправку AJAX PHP

Вот Аякса:

 $.ajax({ 
     url: '/orders/add', 
     type: 'post', 
     data: {payload:ko.toJSON(allModel)}, 
     contentType: 'application/json', 
     success: function (result) { 
      alert(result); 
     } 
    }); 

Вот PHP (мы используем Laravel)

return json_decode($_POST["payload"]); 
+1

У вас есть 2 поля данных. – Pete

+0

Извините. Это просто отображается здесь. Один из них прокомментирован. – ipengineer

+0

try 'data: JSON.stringify ({полезная нагрузка: ko.toJSON (allModel)}),' – Pete

ответ

1

Пит правильно. Вам нужно использовать только одно поле данных. Если вы хотите переменную, определите ее перед сообщением $ .ajax

var dataPayload = ko.toJSON(allModel); 
$.ajax({ 
    url: '/orders/add', 
    type: 'post', 
    data: {payload: dataPayload}, 
    contentType: 'application/json', 
    success: function (result) { 
     alert(result); 
    } 
}); 
+0

Я получаю ошибку внутреннего сервера 500. Итак, это то, что отправляется в POST с консоли: payload =% 5B% 7B% 22serviceName% 22% 3A% 223% 22% 2C% 22serviceQuantity% 22% 3A% 222% 22% 7D% 2C% 22bec09c54 -d967-f376-703c-4bfd3319b7cb% 22% 5D Ответ: Уведомление: Неопределенный индекс: полезная нагрузка – ipengineer

+0

@ipengineer Это проблема на стороне сервера, а не проблема javascript/jquery/ajax. Принимаете ли вы параметры данных в своей службе и просматриваете результаты или пытаетесь рассматривать их как массив? –

+0

Думаю, я просто рассматриваю его как объект. Я просто делаю return json_decode ($ _ POST ['полезная нагрузка]); – ipengineer

Смежные вопросы