<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic CORS Error in ArcGIS REST APIs and Services Questions</title>
    <link>https://community.esri.com/t5/arcgis-rest-apis-and-services-questions/cors-error/m-p/1569104#M4898</link>
    <description>&lt;P&gt;Hello all,&amp;nbsp;&lt;/P&gt;&lt;P&gt;My companies GIS team has created a ArcGIS REST API for us developers to use. It allows us access to the GIS data so we can display the GIS data on our frontend products. I currently have created an endpoint that queries a data layer and returns the query in GeoJSON format. The requests work great on Postman (as expected) however when I make a request from our staging environment in development I get this CORS error.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Access to XMLHttpRequest at '&amp;lt;our endpoint&amp;gt;' from origin '&lt;A href="https://allocommunidev.wpenginepowered.com" target="_blank"&gt;https://allocommunidev.wpenginepowered.com&lt;/A&gt;' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: Redirect is not allowed for a preflight request.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;My question becomes, is this a frontend CORS error? From what I have read ArcGIS allows ALL cross origin requests which leads me to believe this is a frontend error, but I have no good way to tell and be certain. However I have tried many things. This is the jQuery and AJAX request. Any help would be much appreciated&lt;/P&gt;&lt;DIV&gt;&lt;PRE&gt;&lt;SPAN&gt;$&lt;/SPAN&gt;.ajax&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;{&lt;BR /&gt;&lt;/SPAN&gt;  &lt;SPAN&gt;url&lt;/SPAN&gt;&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;tokenEndpoint&lt;/SPAN&gt;,&lt;BR /&gt;  &lt;SPAN&gt;type&lt;/SPAN&gt;&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;"POST"&lt;/SPAN&gt;,&lt;BR /&gt;  &lt;SPAN&gt;data&lt;/SPAN&gt;&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;{&lt;BR /&gt;&lt;/SPAN&gt;   &lt;SPAN&gt;username&lt;/SPAN&gt;&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;username&lt;/SPAN&gt;,&lt;BR /&gt;   &lt;SPAN&gt;password&lt;/SPAN&gt;&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;password&lt;/SPAN&gt;,&lt;BR /&gt;   &lt;SPAN&gt;client&lt;/SPAN&gt;&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;"referer"&lt;/SPAN&gt;,&lt;BR /&gt;   &lt;SPAN&gt;referer&lt;/SPAN&gt;&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;"https://stgallocomm.wpenginepowered.com"&lt;/SPAN&gt;,&lt;BR /&gt;   &lt;SPAN&gt;expiration&lt;/SPAN&gt;&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;60&lt;/SPAN&gt;,&lt;BR /&gt;  &lt;SPAN&gt;}&lt;/SPAN&gt;,&lt;BR /&gt;  &lt;SPAN&gt;success&lt;/SPAN&gt;&lt;SPAN&gt;: function &lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;response&lt;/SPAN&gt;&lt;SPAN&gt;) &lt;/SPAN&gt;&lt;SPAN&gt;{&lt;BR /&gt;&lt;/SPAN&gt;   &lt;SPAN&gt;if &lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;response&lt;/SPAN&gt;&lt;SPAN&gt;) &lt;/SPAN&gt;&lt;SPAN&gt;{&lt;BR /&gt;&lt;/SPAN&gt;    &lt;SPAN&gt;console&lt;/SPAN&gt;.&lt;SPAN&gt;log(&lt;/SPAN&gt;&lt;SPAN&gt;response&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;;&lt;BR /&gt;    &lt;SPAN&gt;let &lt;/SPAN&gt;&lt;SPAN&gt;token &lt;/SPAN&gt;&lt;SPAN&gt;= &lt;/SPAN&gt;&lt;SPAN&gt;response&lt;/SPAN&gt;;&lt;BR /&gt;    &lt;BR /&gt;    &lt;SPAN&gt;$&lt;/SPAN&gt;.ajax&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;{&lt;BR /&gt;&lt;/SPAN&gt;     &lt;SPAN&gt;url&lt;/SPAN&gt;&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;NeCentralPons&lt;/SPAN&gt;,&lt;BR /&gt;     &lt;SPAN&gt;type&lt;/SPAN&gt;&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;"GET"&lt;/SPAN&gt;,&lt;BR /&gt;     &lt;SPAN&gt;beforeSend&lt;/SPAN&gt;&lt;SPAN&gt;:&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;      function &lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;xhr&lt;/SPAN&gt;&lt;SPAN&gt;) &lt;/SPAN&gt;&lt;SPAN&gt;{&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;       xhr&lt;/SPAN&gt;.&lt;SPAN&gt;setRequestHeader&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;'Authorization'&lt;/SPAN&gt;, &lt;SPAN&gt;`Bearer &lt;/SPAN&gt;$&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;SPAN&gt;token&lt;/SPAN&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;SPAN&gt;`&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;;&lt;BR /&gt;       &lt;SPAN&gt;console&lt;/SPAN&gt;.&lt;SPAN&gt;log&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;`Bearer &lt;/SPAN&gt;$&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;SPAN&gt;token&lt;/SPAN&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;SPAN&gt;`&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;;&lt;BR /&gt;      &lt;SPAN&gt;}&lt;/SPAN&gt;,&lt;BR /&gt;     &lt;SPAN&gt;success&lt;/SPAN&gt;&lt;SPAN&gt;: function &lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;data&lt;/SPAN&gt;&lt;SPAN&gt;) &lt;/SPAN&gt;&lt;SPAN&gt;{&lt;BR /&gt;&lt;/SPAN&gt;      &lt;SPAN&gt;console&lt;/SPAN&gt;.&lt;SPAN&gt;log&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;data&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;;&lt;BR /&gt;     &lt;SPAN&gt;}&lt;/SPAN&gt;,&lt;BR /&gt;     &lt;SPAN&gt;error&lt;/SPAN&gt;&lt;SPAN&gt;: function &lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;error&lt;/SPAN&gt;&lt;SPAN&gt;) &lt;/SPAN&gt;&lt;SPAN&gt;{&lt;BR /&gt;&lt;/SPAN&gt;      &lt;SPAN&gt;console&lt;/SPAN&gt;.&lt;SPAN&gt;error&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;error&lt;/SPAN&gt;.&lt;SPAN&gt;status&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;BR /&gt;&lt;/SPAN&gt;     &lt;SPAN&gt;}&lt;BR /&gt;&lt;/SPAN&gt;    &lt;SPAN&gt;}&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;;&lt;BR /&gt;   &lt;SPAN&gt;} &lt;/SPAN&gt;&lt;SPAN&gt;else &lt;/SPAN&gt;&lt;SPAN&gt;{&lt;BR /&gt;&lt;/SPAN&gt;    &lt;SPAN&gt;console&lt;/SPAN&gt;.&lt;SPAN&gt;error(&lt;/SPAN&gt;&lt;SPAN&gt;"Token failed:"&lt;/SPAN&gt;, &lt;SPAN&gt;response&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;;&lt;BR /&gt;   &lt;SPAN&gt;}&lt;BR /&gt;&lt;/SPAN&gt;  &lt;SPAN&gt;}&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;;&lt;/PRE&gt;&lt;/DIV&gt;</description>
    <pubDate>Mon, 16 Dec 2024 22:16:48 GMT</pubDate>
    <dc:creator>DillonArnold</dc:creator>
    <dc:date>2024-12-16T22:16:48Z</dc:date>
    <item>
      <title>CORS Error</title>
      <link>https://community.esri.com/t5/arcgis-rest-apis-and-services-questions/cors-error/m-p/1569104#M4898</link>
      <description>&lt;P&gt;Hello all,&amp;nbsp;&lt;/P&gt;&lt;P&gt;My companies GIS team has created a ArcGIS REST API for us developers to use. It allows us access to the GIS data so we can display the GIS data on our frontend products. I currently have created an endpoint that queries a data layer and returns the query in GeoJSON format. The requests work great on Postman (as expected) however when I make a request from our staging environment in development I get this CORS error.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Access to XMLHttpRequest at '&amp;lt;our endpoint&amp;gt;' from origin '&lt;A href="https://allocommunidev.wpenginepowered.com" target="_blank"&gt;https://allocommunidev.wpenginepowered.com&lt;/A&gt;' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: Redirect is not allowed for a preflight request.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;My question becomes, is this a frontend CORS error? From what I have read ArcGIS allows ALL cross origin requests which leads me to believe this is a frontend error, but I have no good way to tell and be certain. However I have tried many things. This is the jQuery and AJAX request. Any help would be much appreciated&lt;/P&gt;&lt;DIV&gt;&lt;PRE&gt;&lt;SPAN&gt;$&lt;/SPAN&gt;.ajax&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;{&lt;BR /&gt;&lt;/SPAN&gt;  &lt;SPAN&gt;url&lt;/SPAN&gt;&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;tokenEndpoint&lt;/SPAN&gt;,&lt;BR /&gt;  &lt;SPAN&gt;type&lt;/SPAN&gt;&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;"POST"&lt;/SPAN&gt;,&lt;BR /&gt;  &lt;SPAN&gt;data&lt;/SPAN&gt;&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;{&lt;BR /&gt;&lt;/SPAN&gt;   &lt;SPAN&gt;username&lt;/SPAN&gt;&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;username&lt;/SPAN&gt;,&lt;BR /&gt;   &lt;SPAN&gt;password&lt;/SPAN&gt;&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;password&lt;/SPAN&gt;,&lt;BR /&gt;   &lt;SPAN&gt;client&lt;/SPAN&gt;&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;"referer"&lt;/SPAN&gt;,&lt;BR /&gt;   &lt;SPAN&gt;referer&lt;/SPAN&gt;&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;"https://stgallocomm.wpenginepowered.com"&lt;/SPAN&gt;,&lt;BR /&gt;   &lt;SPAN&gt;expiration&lt;/SPAN&gt;&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;60&lt;/SPAN&gt;,&lt;BR /&gt;  &lt;SPAN&gt;}&lt;/SPAN&gt;,&lt;BR /&gt;  &lt;SPAN&gt;success&lt;/SPAN&gt;&lt;SPAN&gt;: function &lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;response&lt;/SPAN&gt;&lt;SPAN&gt;) &lt;/SPAN&gt;&lt;SPAN&gt;{&lt;BR /&gt;&lt;/SPAN&gt;   &lt;SPAN&gt;if &lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;response&lt;/SPAN&gt;&lt;SPAN&gt;) &lt;/SPAN&gt;&lt;SPAN&gt;{&lt;BR /&gt;&lt;/SPAN&gt;    &lt;SPAN&gt;console&lt;/SPAN&gt;.&lt;SPAN&gt;log(&lt;/SPAN&gt;&lt;SPAN&gt;response&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;;&lt;BR /&gt;    &lt;SPAN&gt;let &lt;/SPAN&gt;&lt;SPAN&gt;token &lt;/SPAN&gt;&lt;SPAN&gt;= &lt;/SPAN&gt;&lt;SPAN&gt;response&lt;/SPAN&gt;;&lt;BR /&gt;    &lt;BR /&gt;    &lt;SPAN&gt;$&lt;/SPAN&gt;.ajax&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;{&lt;BR /&gt;&lt;/SPAN&gt;     &lt;SPAN&gt;url&lt;/SPAN&gt;&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;NeCentralPons&lt;/SPAN&gt;,&lt;BR /&gt;     &lt;SPAN&gt;type&lt;/SPAN&gt;&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;"GET"&lt;/SPAN&gt;,&lt;BR /&gt;     &lt;SPAN&gt;beforeSend&lt;/SPAN&gt;&lt;SPAN&gt;:&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;      function &lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;xhr&lt;/SPAN&gt;&lt;SPAN&gt;) &lt;/SPAN&gt;&lt;SPAN&gt;{&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;       xhr&lt;/SPAN&gt;.&lt;SPAN&gt;setRequestHeader&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;'Authorization'&lt;/SPAN&gt;, &lt;SPAN&gt;`Bearer &lt;/SPAN&gt;$&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;SPAN&gt;token&lt;/SPAN&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;SPAN&gt;`&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;;&lt;BR /&gt;       &lt;SPAN&gt;console&lt;/SPAN&gt;.&lt;SPAN&gt;log&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;`Bearer &lt;/SPAN&gt;$&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;SPAN&gt;token&lt;/SPAN&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;SPAN&gt;`&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;;&lt;BR /&gt;      &lt;SPAN&gt;}&lt;/SPAN&gt;,&lt;BR /&gt;     &lt;SPAN&gt;success&lt;/SPAN&gt;&lt;SPAN&gt;: function &lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;data&lt;/SPAN&gt;&lt;SPAN&gt;) &lt;/SPAN&gt;&lt;SPAN&gt;{&lt;BR /&gt;&lt;/SPAN&gt;      &lt;SPAN&gt;console&lt;/SPAN&gt;.&lt;SPAN&gt;log&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;data&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;;&lt;BR /&gt;     &lt;SPAN&gt;}&lt;/SPAN&gt;,&lt;BR /&gt;     &lt;SPAN&gt;error&lt;/SPAN&gt;&lt;SPAN&gt;: function &lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;error&lt;/SPAN&gt;&lt;SPAN&gt;) &lt;/SPAN&gt;&lt;SPAN&gt;{&lt;BR /&gt;&lt;/SPAN&gt;      &lt;SPAN&gt;console&lt;/SPAN&gt;.&lt;SPAN&gt;error&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;error&lt;/SPAN&gt;.&lt;SPAN&gt;status&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;BR /&gt;&lt;/SPAN&gt;     &lt;SPAN&gt;}&lt;BR /&gt;&lt;/SPAN&gt;    &lt;SPAN&gt;}&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;;&lt;BR /&gt;   &lt;SPAN&gt;} &lt;/SPAN&gt;&lt;SPAN&gt;else &lt;/SPAN&gt;&lt;SPAN&gt;{&lt;BR /&gt;&lt;/SPAN&gt;    &lt;SPAN&gt;console&lt;/SPAN&gt;.&lt;SPAN&gt;error(&lt;/SPAN&gt;&lt;SPAN&gt;"Token failed:"&lt;/SPAN&gt;, &lt;SPAN&gt;response&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;;&lt;BR /&gt;   &lt;SPAN&gt;}&lt;BR /&gt;&lt;/SPAN&gt;  &lt;SPAN&gt;}&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;;&lt;/PRE&gt;&lt;/DIV&gt;</description>
      <pubDate>Mon, 16 Dec 2024 22:16:48 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-rest-apis-and-services-questions/cors-error/m-p/1569104#M4898</guid>
      <dc:creator>DillonArnold</dc:creator>
      <dc:date>2024-12-16T22:16:48Z</dc:date>
    </item>
  </channel>
</rss>

