Поскольку мне нужен серверный язык, я использовал PHP. Однако я не могу записать данные, поступающие из ajax, используя метод JSON.stringify.
$('#add-order').on('click',function(){ //create an object for orders var order = { name : $('#name').val(), drink : $('#drink').val() }; $.ajax({ url : 'add_order.php', type : 'POST', data : order, dataType : 'json', success : function(newOrder){ console.log(newOrder.name); $('#orders').append('<li>' + newOrder.name + ' : ' + newOrder.drink + '</li>'); }, error: function(){ console.log('error connecting'); } }); });
Вот index.php
<h4>Add a Coffee Order</h4> <ul id="orders"> </ul> <p><input type="text" id="name"></p> <p><input type="text" id="drink"></p> <button type="submit" id="add-order">Add</button>
add_order.php
if (isset($_POST['submit'])) { $orders = $_POST['data']; $orderFile = fopen('api/orders.json', 'w'); fwrite($orderFile, $orders); fclose($orderFile); }
Когда я жестко закодировал любую строку для fwrite ($ orderFile, «мои заказы»), она будет писать на orders.json, однако, когда я использовал $ orders, он не работает. Я что-то пропустил?