Bug ID Number |
BUG-000104611 |
Submitted | April 20, 2017 |
Last Modified | June 5, 2024 |
Applies to | ArcGIS API for JavaScript |
Version found | 3.20 |
Operating System | Windows OS |
Operating System Version | 10.0 64 Bit |
Status | Will Not Be Addressed
The development team has considered the issue or request and concluded it will not be addressed. The issue's Additional Information section may contain further explanation.
|
Additional Information
The problem is that setPreRequestCallback does not just intercept the query request, it intercepts other requests and not all of those requests have a where property on the content. Some checks need to be added to the setPreRequestCallback function to ensure a query task request.
To test this in the sample app (http://jsbin.com/zisoqib/3/edit?js,output) just surround the var y with an if statement as follows.
esriRequest.setRequestPreCallback(function (ioArgs) {
var x = ioArgs.url.endsWith("query");
if(ioArgs.content && ioArgs.content.where){
var y = ioArgs.content.where.startsWith("xxx");
}
return ioArgs;
});
Workaround
Setting a definitionExpression on the layer causes the layer to render in the map. See this in the sample provided at http://jsbin.com/zisoqib/3/edit?js,output. Uncommenting both the definitionExpression within the properties of the layer and the line with the ioArgs.content.where, the layer renders in the map without issues.
Steps to Reproduce