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:falsefor same-domain requests,truefor 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
});