how do i make a $.get request using coffeescript?
How do I do the following in CoffeeScript?
$( function() {
$('input#username').keyup( function() {
var username = $('input#username').val();
url = '/users/check_username/';
params = { userna开发者_开发百科me : username };
$.get(url, params, function(response){ markUsername(response); }, "json");
});
})
Here's another slightly condensed way to write it:
$ ->
$('input#username').keyup ->
username = $(this).val()
callback = (response) -> markerUsername response
$.get '/users/check_username/', {username}, callback, 'json'
Note the lack of parens, and the shorthand "{username}" object literal.
This is the best generic pattern I've come up with so far:
$.ajax '/yourUrlHere',
data :
key : 'value'
success : (res, status, xhr) ->
error : (xhr, status, err) ->
complete : (xhr, status) ->
It compiles down to:
$.ajax('/yourUrlHere', {
data: {
key: 'value'
},
success: function(res, status, xhr) {},
error: function(xhr, status, err) {},
complete: function(xhr, status) {}
});
This is a way:
$(->
$('input#username').keyup(->
username = $('input#username').val()
url = '/users/check_username/'
params = {username: username}
$.get(url, params, (response)->
markerUsername(response)
, "json")
)
)
Some of these parenthesis can be omitted, but in my opinion, they help with understanding the code flow (at least in this situation).
I recommend fiddling around with coffeescript here http://jashkenas.github.com/coffee-script/ (use the "try coffeescript") button. The language is very easy to learn.
精彩评论