can-ajax
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
- 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 isGET
. - 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 isjson
. - 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}
Setasync
tofalse
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.
- url
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
});