Как сделать запрос $.get с помощью coffeescript?
Как сделать следующее в CoffeeScript?
$( function() {
$('input#username').keyup( function() {
var username = $('input#username').val();
url = '/users/check_username/';
params = { username : username };
$.get(url, params, function(response){ markUsername(response); }, "json");
});
})
Ответы
Ответ 1
Вот еще немного сжатый способ написать:
$ ->
$('input#username').keyup ->
username = $(this).val()
callback = (response) -> markerUsername response
$.get '/users/check_username/', {username}, callback, 'json'
Обратите внимание на отсутствие парсеров и строковый литерал "{username}".
Ответ 2
Это лучший общий шаблон, который я придумал до сих пор:
$.ajax '/yourUrlHere',
data :
key : 'value'
success : (res, status, xhr) ->
error : (xhr, status, err) ->
complete : (xhr, status) ->
Скомпилируется до:
$.ajax('/yourUrlHere', {
data: {
key: 'value'
},
success: function(res, status, xhr) {},
error: function(xhr, status, err) {},
complete: function(xhr, status) {}
});
Ответ 3
Это способ:
$(->
$('input#username').keyup(->
username = $('input#username').val()
url = '/users/check_username/'
params = {username: username}
$.get(url, params, (response)->
markerUsername(response)
, "json")
)
)
Некоторые из этих скобок могут быть опущены, но, на мой взгляд, они помогают с пониманием потока кода (по крайней мере, в этой ситуации).
Я рекомендую возиться с coffeescript здесь http://jashkenas.github.com/coffee-script/ (используйте кнопку "try coffeescript" ). Язык очень прост в изучении.