can-ajax
Make an asynchronous HTTP (AJAX) request.
ajax( ajaxOptions )
Is used to make an asynchronous HTTP (AJAX) request similar to http://api.jquery.com/jQuery.ajax/jQuery.ajax.
var ajax = require("can-ajax");
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.
- 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/
var ajax = require("can-ajax");
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
});