---
schema_version: "1"
id: 8d8ec350d1b20ca899b65d330fbfb7f86a3ea2f4fd25c69a666d36a0b98fe9e0
title: JavaScript Remoting for Apex Controllers
collection: developer
version: current
locale: en-us
portal_url: https://docs.salesforce.com/developer/current/en-us/platform/salesforce-pages-developers-guide/guides/pages/javascript/pages-js-remoting.md
canonical_url: https://developer.salesforce.com/docs/platform/salesforce-pages-developers-guide/guide/pages-js-remoting.html
source_site: developer.salesforce.com
content_type: documentation
content_hash: 524ca55de2fa75e13db9b769fd62410f030ab42002a1f1ea1a92e8c0f3554793
products:
  - Visualforce Developer Guide
  - Platform Developer Content
---

# JavaScript Remoting for Apex Controllers

Use JavaScript remoting in Visualforce to call methods in Apex controllers from JavaScript. Create pages with complex, dynamic behavior that isn’t possible with the standard Visualforce AJAX components.

Features implemented using JavaScript remoting require three elements:

-   The remote method invocation you add to the Visualforce page, written in JavaScript.
-   The remote method definition in your Apex controller class. This method definition is written in Apex, but there are some important differences from normal action methods.
-   The response handler callback function you add to or include in your Visualforce page, written in JavaScript.

![JavaScript remoting allows you to make remote requests to Visualforce.](https://developer.salesforce.com/media/salesforce-pages-developers-guide/pages_js_remoting_graphic.gif)

