-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Troubleshooting: add A Request Error Occurs After Filtering or Search… (
- Loading branch information
1 parent
f06dc88
commit d7901a3
Showing
3 changed files
with
85 additions
and
0 deletions.
There are no files selected for viewing
File renamed without changes.
85 changes: 85 additions & 0 deletions
85
...d and TreeList Issues/15 A Request Error Occurs After Filtering or Searching.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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. |
File renamed without changes.