All docs
V21.1
23.1 (CTP)
22.2
22.1
21.2
21.1
20.2
20.1
19.2
The page you are viewing does not exist in version 19.2. This link will take you to the root page.
19.1
The page you are viewing does not exist in version 19.1. This link will take you to the root page.
18.2
The page you are viewing does not exist in version 18.2. This link will take you to the root page.
18.1
The page you are viewing does not exist in version 18.1. This link will take you to the root page.
17.2
The page you are viewing does not exist in version 17.2. This link will take you to the root page.
A newer version of this page is available. Switch to the current version.

PHP Service

DevExtreme provides the DevExtreme-PHP-Data extension that implements data processing on a PHP server according to the protocol the Chart uses. To access the server from the client, configure the CustomStore as described in the Custom Sources article or use the createStore method. This method is a part of the DevExtreme.AspNet.Data extension. The following code shows how to use this method.

jQuery
index.js
$(function() {
    const serviceUrl = "https://url/to/my/service.php";

    $("#chartContainer").dxChart({
        dataSource: DevExpress.data.AspNet.createStore({
            key: 'ID',
            loadUrl: serviceUrl
        }),
        // ...
    });
});
Angular
app.component.html
app.component.ts
app.module.ts
<dx-chart [dataSource]="store">
    <!-- ... -->
</dx-chart>
import { Component } from '@angular/core';
import CustomStore from 'devextreme/data/custom_store';
import { createStore } from "devextreme-aspnet-data-nojquery";

@Component({
    selector: 'app-root',
    templateUrl: './app.component.html',
    styleUrls: ['./app.component.css']
})
export class AppComponent {
    store: CustomStore;
    constructor() {
        const serviceUrl = "https://url/to/my/service.php";
        this.store = createStore({
            key: 'ID',
            loadUrl: serviceUrl
        });
    }
}
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { AppComponent } from './app.component';

import { DxChartModule } from 'devextreme-angular';

@NgModule({
    declarations: [
        AppComponent
    ],
    imports: [
        BrowserModule,
        DxChartModule
    ],
    providers: [ ],
    bootstrap: [AppComponent]
})
export class AppModule { }
Vue
App.vue
<template>
    <DxChart :data-source="store">
        <!-- ... -->
    </DxChart>
</template>

<script>
import DxChart from 'devextreme-vue/chart';
import { createStore } from "devextreme-aspnet-data-nojquery";

const serviceUrl = "https://url/to/my/service.php";

const store = createStore({
    key: 'ID',
    loadUrl: serviceUrl
});

export default {
    components: {
        DxChart
    },
    data() {
        return {
            store
        }
    }
}
</script>
React
App.js
import Chart from 'devextreme-react/chart';
import { createStore } from "devextreme-aspnet-data-nojquery";

const serviceUrl = "https://url/to/my/service.php";

const store = createStore({
    key: 'ID',
    loadUrl: serviceUrl
});

export default function App() {
    return (
        <Chart dataSource={store}>
            {/* ... */}
        </Chart>
    );
}