DoneJS StealJS jQuery++ FuncUnit DocumentJS
6.0.1
5.33.2 4.3.0 3.14.1 2.3.35
  • About
  • Guides
  • API Docs
  • Community
  • Contributing
  • Bitovi
    • Bitovi.com
    • Blog
    • Design
    • Development
    • Training
    • Open Source
    • About
    • Contact Us
  • About
  • Guides
  • API Docs
    • Observables
      • can-bind
      • can-compute
      • can-debug
      • can-deep-observable
      • can-define
      • can-define/list/list
      • can-define/map/map
      • can-define-backup
      • can-define-stream
      • can-define-stream-kefir
      • can-event-queue
      • can-kefir
      • can-list
      • can-map
      • can-map-compat
      • can-map-define
      • can-observable-array
      • can-observable-object
      • can-observation
      • can-observation-recorder
      • can-observe
      • can-simple-map
      • can-simple-observable
      • can-stream
      • can-stream-kefir
      • can-value
    • Views
      • can-attribute-observable
      • can-component
      • can-observable-bindings
      • can-stache
      • can-stache-bindings
      • can-stache-converters
      • can-stache-element
      • can-stache-route-helpers
      • can-view-autorender
      • can-view-callbacks
      • can-view-import
      • can-view-model
      • can-view-parser
      • can-view-scope
      • can-view-target
      • steal-stache
    • Data Modeling
      • can-connect
      • can-connect-feathers
      • can-connect-ndjson
      • can-connect-tag
      • can-define-realtime-rest-model
      • can-define-rest-model
      • can-fixture
      • can-fixture-socket
      • can-local-store
      • can-memory-store
      • can-ndjson-stream
      • can-query-logic
      • can-realtime-rest-model
      • can-rest-model
      • can-set-legacy
      • can-super-model
    • Routing
      • can-deparam
      • can-param
      • can-route
      • can-route-hash
      • can-route-mock
      • can-route-pushstate
    • JS Utilities
      • can-assign
      • can-define-lazy-value
      • can-diff
      • can-globals
      • can-join-uris
      • can-key
      • can-key-tree
      • can-make-map
      • can-parse-uri
      • can-queues
      • can-string
      • can-string-to-any
      • can-zone-storage
    • DOM Utilities
      • can-ajax
      • can-attribute-encoder
      • can-child-nodes
      • can-control
      • can-dom-data
      • can-dom-events
      • can-dom-mutate
      • can-event-dom-enter
      • can-event-dom-radiochange
      • can-fragment
    • Data Validation
      • can-define-validate-validatejs
      • can-type
      • can-validate
      • can-validate-interface
      • can-validate-legacy
      • can-validate-validatejs
    • Typed Data
      • can-cid
      • can-construct
      • can-construct-super
      • can-data-types
      • can-namespace
      • can-reflect
      • can-reflect-dependencies
      • can-reflect-promise
      • can-types
    • Polyfills
      • can-symbol
      • can-vdom
    • Core
    • Infrastructure
      • can-global
      • can-test-helpers
    • Ecosystem
    • Legacy
  • Community
  • Contributing
  • GitHub
  • Twitter
  • Chat
  • Forum
  • News
Bitovi

can-ajax

  • npm package badge
  • Star
  • Edit on GitHub

Make an asynchronous HTTP (AJAX) request.

ajax( ajaxOptions )

Is used to make an asynchronous HTTP (AJAX) request similar to jQuery.ajax().

import { ajax } from "can";

ajax({
  url: "http://query.yahooapis.com/v1/public/yql",
  data: {
    format: "json",
    q: 'select * from geo.places where text="sunnyvale, ca"'
  }
}).then(function(response){
  console.log( response.query.count ); // => 2
});

Parameters

  1. ajaxOptions {Object}:

    Configuration options for the AJAX request.

    • url {String} The requested url.
    • type {String} The method of the request. Ex: GET, PUT, POST, etc. Capitalization is ignored. Default is GET.
    • data {Object} The data of the request. If data needs to be urlencoded (e.g. for GET requests or for CORS) it is serialized with can-param.
    • dataType {String} Type of data. Default is json.
    • crossDomain {Boolean} If you wish to force a crossDomain request (such as JSONP) on the same domain, set the value of crossDomain to true. This allows, for example, server-side redirection to another domain. Default: false for same-domain requests, true for cross-domain requests.
    • xhrFields {Object} Any fields to be set directly on the xhr request, https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest such as the withCredentials attribute that indicates whether or not cross-site Access-Control requests should be made using credentials such as cookies or authorization headers.
    • beforeSend {callback} A pre-request callback function that can be used to modify the XHR object before it is sent. Use this to set custom headers, etc. The XHR and settings objects are passed as arguments.
    • success {callback} A callback passed the response body when the request completes without error. Using the promise returned from ajax() should be preferred to passing a success callback
    • error {callback} A callback passed the XHR object when the request fails to complete correctly. Using the promise returned from ajax() should be preferred to passing an error callback
    • async {Boolean} Set async to false to create a synchronous XHR that blocks the thread until the request completes. success() or error() is called synchronously on completion, but promise callbacks are still resolved asychronously. Synchronous AJAX calls are not recommended and are only supported here for legacy reasons.

Returns

{Promise}:

A Promise that resolves to the data. The Promise instance is abortable and exposes an abort method. Invoking abort on the Promise instance indirectly rejects it.

ajaxSetup( ajaxOptions )

Is used to persist ajaxOptions across all ajax requests and they can be over-written in the ajaxOptions of the actual request. https://api.jquery.com/jquery.ajaxsetup/

import { ajax } from "can";

ajax.ajaxSetup({xhrFields: {withCredentials: true}});

ajax({
  url: "http://query.yahooapis.com/v1/public/yql",
  data: {
    format: "json",
    q: 'select * from geo.places where text="sunnyvale, ca"'
  }
}).then(function(response){
  console.log( response.query.count ); // => 2
});

CanJS is part of DoneJS. Created and maintained by the core DoneJS team and Bitovi. Currently 6.0.1.

On this page

Get help

  • Chat with us
  • File an issue
  • Ask questions
  • Read latest news