# Data sources

In addition to handling options from a standard `<select>`, Select2 can also retrieve the results from other data sources.

## Loading array data

Select2 provides a way to load the data from a local array. You can provide initial selections with array data by providing the option tag for the selected values, similar to how it would be done for a standard select.

## Loading remote data

Select2 comes with AJAX support built in, using jQuery's AJAX methods. In this example, we can search for repositories using GitHub's API.

When using Select2 with remote data, the HTML required for the `select` is the same as any other Select2. If you need to provide default selections, you just need to include an `option` for each selection that contains the value and text that should be displayed.

You can configure how Select2 searches for remote data using the `ajax` option. More information on the individual options that Select2 handles can be found in the options documentation for `ajax`.

Select2 will pass any options in the `ajax` object to jQuery's `$.ajax` function, or the `transport` function you specify.