-
Notifications
You must be signed in to change notification settings - Fork 2
Send Instances
Sending off the Instance to a URL on the server is the ultimate goal of an Instance Model. Remember that you can define some .send();
related settings when defining the Instance Model, including the URL
and Method
for the request.
.send();
will send all of the current parameters associated with the Instance to the specified URL via an AJAX request. Initiating this is not difficult...
var Comment = new Instance({
name: "comment",
url: "/comments/1/update",
method: "put"
});
// Send the instance off to the server using the default
// settings. If no default settings have been specified,
// the URL defaults to "./", and method to "post".
Comment.send();
Or we can send the comment with some custom arguments...
Comment.send("/comments/new", "post");
A callback function is executed if the AJAX request is successful or not. To learn more about these (and other settings), read up on the settings guide.
A new feature introduced in v1.1.0 was some extra callbacks for the send function. Use them from inside the model like so...
var Comment = new Instance({
before_send: function() {
alert("Instance is about to send your comment to the server!");
},
after_send: function() {
alert("Instance just sent the comment!");
}
});
By default, parameters will send as a "flat" structure. That is,
{ name: "Adam", message: "Hello, world!" }
If you pass in a name
to the Instance settings, it will effect the way your parameters are sent. They will be converted into a two dimensional structure. This follows conventions from many MVC frameworks, such as Rails. Since the name
was set to comment
in the Instance example above - the parameters will now look like this:
{comment: { name: "Adam", message: "Hello, world" }}
This is achieved by changing the parameter to the following pattern: comment[parameter]=value
. Be aware that some web frameworks will not support this.
Did you find this page helpful? Shoot me an email...