Skip to content

Commit

Permalink
Troubleshooting: add A Request Error Occurs After Filtering or Search… (
Browse files Browse the repository at this point in the history
  • Loading branch information
vladaskorohodova authored Oct 6, 2023
1 parent f06dc88 commit d7901a3
Show file tree
Hide file tree
Showing 3 changed files with 85 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
This topic addresses multiple request errors that may occur in your application. To check an error code, follow the steps below:

1. Obtain a URL link generated by the problematic data query in the browser [network tab](/Documentation/Guide/Troubleshooting/A_Drop-Down_Editor_Does_Not_Show_Data/#AspNetDatacreateStore_Method_Specifics). Paste the URL in a new browser tab.

2. Enable exceptions on the server to see a detailed error message. In ASP.NET, you can obtain an exception call stack. Refer to the following help topic for more information: [How to obtain an exception call stack](https://docs.devexpress.com/GeneralInformation/403685/support-debug-troubleshooting/obtain-exception-call-stack).

[DevExtreme.AspNet.Data](https://github.com/DevExpress/DevExtreme.AspNet.Data#devextreme-aspnet-data) sends load parameters (skip, take, filter, and group) in the browser URL. As a result, an error may occur if a string with parameters is too long and cannot be processed on the server. Refer to the following article for more information: [Request Limits](https://docs.microsoft.com/en-us/iis/configuration/system.webserver/security/requestfiltering/requestlimits/).

The following errors may occur:

- `Query string is too long`
- `Request URI is too long`
- `Maximum request length exceeded`
- `404`
- `404.15`
- The `object XMLHttpRequest` error occurs once you define total and group summaries in DataGrid.
- Filtering by `Search Panel` does not work if the component has a lookup column.
- Filtering by `Search Panel` does not work if the component has more than 20 columns.
- Selection does not work if [selection.deferred](/Documentation/ApiReference/UI_Components/dxDataGrid/Configuration/selection/#deferred) is `true`.

If you receive one of the errors above, one of the following solutions may help you resolve it:

- Increase the maximum query string length in your backend configuration file.
Note that browsers also impose their own restrictions on the maximum URL length: [What is the maximum length of a URL in different browsers?](https://stackoverflow.com/questions/417142/what-is-the-maximum-length-of-a-url-in-different-browsers).

- Use `POST` requests instead of `GET` requests. Set the `LoadMethod` option to `POST` and change the `LoadAction` implementation as follows:

---
##### jQuery

<!-- tab: index.js-->
$("#grid").dxDataGrid({
dataSource: DevExpress.data.AspNet.createStore({
key: "keyFieldName",
loadUrl: url,
loadMethod: "POST",
}),
// ...
});

##### Angular

<!-- tab: app.component.ts -->
import { createStore } from 'devextreme-aspnet-data-nojquery';

const dataSource = createStore({
key: "keyFieldName",
loadUrl: urlHere,
loadMethod: "Post",
// ...
});

##### Vue

<!-- tab: App.vue -->
<template>
<!-- ... -->
</template>

<script>
import { createStore } from 'devextreme-aspnet-data-nojquery';

const dataSource = createStore({
key: "keyFieldName",
loadUrl: urlHere,
loadMethod: "Post",
// ...
});
</script>

##### React

<!-- tab: App.js -->
import { createStore } from 'devextreme-aspnet-data-nojquery';

const dataSource = createStore({
key: "keyFieldName",
loadUrl: urlHere,
loadMethod: "Post",
// ...
});

---

As `POST` request size becomes large after these changes, you may need to increase the `Content-Length` value in the server configuration file.

0 comments on commit d7901a3

Please sign in to comment.