ic-post-to - The Post-To Attribute

Summary

The ic-post-to attribute binds the default action (see below) of HTML element to a POST to the given URL. For example, on a button, when the button is clicked, an AJAX POST will be issued to the given URL.

Any content that is returned will be used to replace the content of the current element (or, more commonly, another element, via the ic-target attribute, see below). An empty response will be interpreted as a No-Op. See Intercooler Responses for more info.

Since it is common for an action to replace a different element than the one that the action occured on, you may want to use the ic-target attribute to target a different element for replacement.

What is the Default Action?

The default action depends on the type of an HTML element:

  • input, select - A value change.
  • form - A form submission.
  • Everything else - A click.

Using Real HTTP Methods

By default, intercooler uses POST's for all non-GET requests, due to older browser limitations. It includes the _method parameter and the X-HTTP-Method-Override headers that indicate the intended HTTP method, but some server-side infrastructure might not understand these conventions.

If you wish to use the actual HTTP method and forgo older browser support, you can use the following meta tag in your head tag:

<meta name="intercoolerjs:use-actual-http-method" content="true"/>

Syntax

The value of the attribute should be a valid relative path (e.g. ic-post-to="/foo/bar").

Dependencies

ic-post-to implies a dependency on its path, and Intercooler will issue requests for elements whenever it detects an action that the path depends on. See Dependencies for more information.

Example

Here is a simple example, with a span that depends on the updated URL:

  <button ic-post-to="/target_url">Click Me!</button>

  <span ic-src="/target_url">You haven't clicked yet...</span>
      
You haven't clicked yet...