jQuery, Ajax - wysyłanie POST

0

Witam,

Mam kolejny problem ze znanym tutorialem:

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>

0

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

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');
			}
		});
	});
	});

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