jQuery, Ajax - wysyłanie POST

2016-03-09 16:51

Rejestracja: 5 lat temu

Ostatnio: 2 lata temu

0

Witam,

Mam kolejny problem ze znanym tutorialem: https://www.youtube.com/watch[...]&list=PLoYCgNOIyGABdI2V8ISWo22tFpgh2s6&index=8

Po zatwierdzeniu formularza otrzymuję: name: undefined, drink: undefined.

Co może być tego przyczyną?
main.js:

var $name = $('#name');
var $drink = $('#drink');
$.ajax({
            type: 'POST',
            url: '/api/orders.json',
            data: order,
            success: function(newOrder){
                $orders.append('<li>name: ' + newOrder.name + ', drink:'+ newOrder.drink + '</li>');
            },
            error: function(){
                alert('error saving order');
            }
        });

index.html:

<!DOCTYPE>
<html>
    <head>
        <title>jQuery AJAX</title>
        <link href="style.css" rel="stylesheet" type="text/css" />
        <script type="text/javascript" src="jquery-1.12.1.min.js"></script>
    </head>
<body>
    <h1>jQuery AJAX</h1>
        <h2>Coffee Orders</h2>
        <ul id="orders">

        </ul>
        <h4>Add a Coffee Order</h4>
        <p>name: <input type="text" id="name"></p>
        <p>drink: <input type="text" id="drink"></p>
        <button id="add-order">Add!</button>
        <script type="text/javascript" src="main.js"></script>
</body>
</html>

Pozostało 580 znaków

2016-03-10 11:59

Rejestracja: 5 lat temu

Ostatnio: 2 miesiące temu

0

Nie pobierasz wartości z inputa, tak powinno być
var $name = $('#name').val();
var $drink = $('#drink').val();

Pozostało 580 znaków

2016-03-12 00:47

Rejestracja: 5 lat temu

Ostatnio: 2 lata temu

0

Po poprawieniu nadal nie działa.
var order powinno zwrócić dane z $name i $drink

main.js:

$(function(){

    var $orders = $('#orders');
    var $name = $('#name');
    var $drink = $('#drink');

    //Pobieranie danych
    $.ajax({
        type: 'GET',
        url: '/api/orders.json',

        success: function(orders){
        $.each(orders, function(i, order){
        $orders.append('<li>name: ' + order.name + ', drink:'+ order.drink + '</li>');
        });
        },
        error: function(){
            alert('error');
        }
    });

    //Wysyłanie danych
    $('#add-order').on('click', function(){
        var order = {
            name: $name.val(),
            drink: $drink.val(),
        };

        $.ajax({
            type: 'POST',
            url: '/api/orders.json',
            data: order,
            success: function(newOrder){
                $orders.append('<li>name: ' + newOrder.name + ', drink:'+ newOrder.drink + '</li>');
            },
            error: function(){
                alert('error saving order');
            }
        });
    });
    });

Pozostało 580 znaków

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0