<?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 ArcGIS API for Javascript &amp;amp;colon; Class:  esri/tasks/Geoprocessor - submitJob | getResultData in ArcGIS JavaScript Maps SDK Questions</title>
    <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/arcgis-api-for-javascript-amp-colon-class-esri/m-p/1076760#M73775</link>
    <description>&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;I created a gp service&amp;nbsp;that allows to load a csv file (It contains addresses and It is attached at this post).&lt;/P&gt;&lt;P&gt;It works&amp;nbsp;as expected :&lt;/P&gt;&lt;P&gt;&lt;A href="https://supad-t1-age1081.westus2.cloudapp.azure.com/server/rest/services/UploadFile/GPServer/uploads/upload" target="_blank" rel="noopener"&gt;https://supad-t1-age1081.westus2.cloudapp.azure.com/server/rest/services/UploadFile/GPServer/uploads/upload&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Bertrand_Laurancin_0-1625754620872.png" style="width: 400px;"&gt;&lt;img src="https://community.esri.com/t5/image/serverpage/image-id/17977i24AAD740C6EFC785/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Bertrand_Laurancin_0-1625754620872.png" alt="Bertrand_Laurancin_0-1625754620872.png" /&gt;&lt;/span&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Bertrand_Laurancin_1-1625754644735.png" style="width: 400px;"&gt;&lt;img src="https://community.esri.com/t5/image/serverpage/image-id/17978i8028C920DCB2C7A7/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Bertrand_Laurancin_1-1625754644735.png" alt="Bertrand_Laurancin_1-1625754644735.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;I get an Item ID.&lt;/P&gt;&lt;P&gt;I created a gp service&amp;nbsp;that allows to geocode addresses (from the Item ID generated at the step previous) :&lt;/P&gt;&lt;P&gt;&lt;A href="https://supad-t1-age1081.westus2.cloudapp.azure.com/server/rest/services/BatchGeocode3/GPServer" target="_blank" rel="noopener"&gt;https://supad-t1-age1081.westus2.cloudapp.azure.com/server/rest/services/BatchGeocode3/GPServer&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Bertrand_Laurancin_2-1625754934564.png" style="width: 400px;"&gt;&lt;img src="https://community.esri.com/t5/image/serverpage/image-id/17979i5C66AC285831E256/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Bertrand_Laurancin_2-1625754934564.png" alt="Bertrand_Laurancin_2-1625754934564.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;It works&amp;nbsp;as expected :&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Bertrand_Laurancin_3-1625754996734.png" style="width: 400px;"&gt;&lt;img src="https://community.esri.com/t5/image/serverpage/image-id/17980i96A2B296C03566E3/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Bertrand_Laurancin_3-1625754996734.png" alt="Bertrand_Laurancin_3-1625754996734.png" /&gt;&lt;/span&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Bertrand_Laurancin_4-1625755028564.png" style="width: 400px;"&gt;&lt;img src="https://community.esri.com/t5/image/serverpage/image-id/17981i2CD07D30773E052C/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Bertrand_Laurancin_4-1625755028564.png" alt="Bertrand_Laurancin_4-1625755028564.png" /&gt;&lt;/span&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Bertrand_Laurancin_5-1625755065516.png" style="width: 400px;"&gt;&lt;img src="https://community.esri.com/t5/image/serverpage/image-id/17982i0DD9078508511861/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Bertrand_Laurancin_5-1625755065516.png" alt="Bertrand_Laurancin_5-1625755065516.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;In a Web Application, I use the Geoprocessor class to execute the task :&lt;/P&gt;&lt;P&gt;&lt;A href="https://codepen.io/blaurancin/pen/PomNEeK" target="_blank" rel="noopener"&gt;https://codepen.io/blaurancin/pen/PomNEeK&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="javascript"&gt;&amp;lt;html&amp;gt;

&amp;lt;head&amp;gt;
  &amp;lt;meta charset="utf-8" /&amp;gt;
  &amp;lt;meta name="viewport" content="initial-scale=1,maximum-scale=1,user-scalable=no" /&amp;gt;
  &amp;lt;title&amp;gt;
    Batch geocode from upload file
  &amp;lt;/title&amp;gt;
  &amp;lt;link rel="stylesheet" href="https://js.arcgis.com/4.19/esri/themes/dark/main.css" /&amp;gt;
  &amp;lt;script src="https://js.arcgis.com/4.19/"&amp;gt;&amp;lt;/script&amp;gt;

  &amp;lt;script&amp;gt;
    require(["esri/Map", "esri/views/MapView", "esri/request", "esri/tasks/Geoprocessor"], (Map, MapView, esriRequest, Geoprocessor) =&amp;gt; {
      const map = new Map({
        basemap: "dark-gray"
      });
      const view = new MapView({
        container: "viewDiv",
        map: map,
        zoom: 2,
        // center: [15, 65] // longitude, latitude
      });
      view.ui.move(["compass", "zoom"], "top-right");
      //
      const myForm = document.getElementById("uploadForm");
      //
      const ItemID = document.getElementById("ItemID");
      //
      const uploadStatus = document.getElementById("upload-status")
      //
      const fileUploadUrl = "https://supad-t1-age1081.westus2.cloudapp.azure.com/server/rest/services/UploadFile/GPServer/uploads/upload";
      //
      const gpUrl = "https://supad-t1-age1081.westus2.cloudapp.azure.com/server/rest/services/BatchGeocode3/GPServer/BatchGeocode3/submitJob";
      //
      const gp = new Geoprocessor(gpUrl);
      //
      myForm.addEventListener("change", function(event) {
        var fileName = event.target.value.toLowerCase();
        if (fileName.indexOf(".csv") !== -1) {
          console.log("fileName", fileName);
          uploadFile(fileName);
        } else {
          ItemID.innerHTML = "";
          ItemID.innerHTML = "It is not a csv file";
          uploadStatus.innerHTML = "";
        }
      });

      function uploadFile(fileName) {
        let name = fileName.split(".");
        // Chrome and IE add c:\fakepath to the value - we need to remove it
        // see this link for more info: http://davidwalsh.name/fakepath
        name = name[0].replace("c:\\fakepath\\", "");
        console.log("name", name);
        let upload = esriRequest(
          fileUploadUrl, {
            body: myForm,
            method: "post",
            responseType: "text" //Ideally would return as json but that doesn't seem to work for me
          }
        ).then(uploadSucceeded, errBackUplaod); //
      }

      function errBackUplaod(error) {
        console.log("upload: ", error);
      }

      function errBack(error) {
        uploadStatus.innerHTML = "";
        uploadStatus.innerHTML = "Error: " + error;
        console.log("gp error: ", error);
      }

      function progTest(value) {
        document.getElementById("upload-status").innerHTML = "Job status: " + "'" + value.jobStatus + "'";
        console.log(value.jobStatus);
      }

      function handleResult(result) {
        console.log("result.jobStatus", result.jobStatus);
        if (result.jobStatus == "job-failed") {
          for (let message of result.messages)
            console.log(message.description)
          return
        }
        uploadStatus.innerHTML = "";
        uploadStatus.innerHTML = result.jobStatus;
        console.log("jobID: " + result.jobId);
        gp.getResultData(result.jobId, "outFile").then(function(result) {
          console.log("result.dataType : " + result.dataType);
          console.log("result.value : " + result.value);
        });
      }

      function uploadSucceeded(result) {
        let element = document.createElement('html');
        let itemID = "";
        let itemURL = "";
        element.innerHTML = result.data;
        let tdElements = element.getElementsByTagName('td');
        for (let tdElement of tdElements) {
          if (tdElement.innerHTML == "Item ID:") {
            itemID = tdElement.nextElementSibling.firstChild.innerHTML;
          }
        }
        if (itemID == "") {
          console.log("Could not get file item id");
          return
        }
        console.log("itemID: " + itemID);
        let params = {
          my_addresses_csv: "{'itemID':'" + itemID + "'}" //Replaces the need for the DataFile object
        };
        console.log("params", params);
        let element2 = document.createElement("div");
        let text = document.createTextNode("{'itemID':'" + itemID + "'}");
        element2.appendChild(text);
        ItemID.innerHTML = "";
        ItemID.appendChild(element2);
        gp.submitJob(params).then(handleResult, errBack, progTest); // gp.submitJob(params).then(handleResult);  
        // gp.submitJob(params).then((jobInfo) =&amp;gt; {
        //   const options = {
        //     statusCallback: (jobInfo1) =&amp;gt; {
        //       progTest(jobInfo1);
        //     }
        //   };
        //   // once the job completes, add resulting layer to map
        //   gp.waitForJobCompletion(jobInfo.jobId, options).then((jobInfo2) =&amp;gt; {
        //     handleResult(jobInfo2);
        //   });
        // });
      }
    });
  &amp;lt;/script&amp;gt;
&amp;lt;/head&amp;gt;

&amp;lt;body&amp;gt;
  &amp;lt;div id="viewDiv"&amp;gt;&amp;lt;/div&amp;gt;
  &amp;lt;div id="myPanel"&amp;gt;
    &amp;lt;p&amp;gt;&amp;lt;/p&amp;gt;
    &amp;lt;form enctype="multipart/form-data" method="post" id="uploadForm"&amp;gt;
      &amp;lt;div class="field"&amp;gt;
        &amp;lt;label class="file-upload"&amp;gt;
          &amp;lt;span&amp;gt;&amp;lt;strong&amp;gt;Add File&amp;lt;/strong&amp;gt;&amp;lt;/span&amp;gt;
          &amp;lt;p&amp;gt;&amp;lt;/p&amp;gt;
          &amp;lt;input type="file" name="file" id="inFile" /&amp;gt;
        &amp;lt;/label&amp;gt;
      &amp;lt;/div&amp;gt;
    &amp;lt;/form&amp;gt;
    &amp;lt;p&amp;gt;&amp;lt;/p&amp;gt;
    &amp;lt;div id="ItemID"&amp;gt;&amp;lt;/div&amp;gt;
    &amp;lt;p&amp;gt;&amp;lt;/p&amp;gt;
    &amp;lt;div id="upload-status"&amp;gt;&amp;lt;/div&amp;gt;
  &amp;lt;/div&amp;gt;

&amp;lt;/body&amp;gt;

&amp;lt;/html&amp;gt;&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;It works. The json output file is created on the server in \arcgisjobs\batchgeocode3_gpserver\&amp;lt;ID&amp;gt;\scratch:&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Bertrand_Laurancin_6-1625755555236.png" style="width: 400px;"&gt;&lt;img src="https://community.esri.com/t5/image/serverpage/image-id/17983iAA3A0F496253F183/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Bertrand_Laurancin_6-1625755555236.png" alt="Bertrand_Laurancin_6-1625755555236.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Bertrand_Laurancin_7-1625755603160.png" style="width: 400px;"&gt;&lt;img src="https://community.esri.com/t5/image/serverpage/image-id/17984i0DEB0A4CBC335846/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Bertrand_Laurancin_7-1625755603160.png" alt="Bertrand_Laurancin_7-1625755603160.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;However, I'm not able to get the result in the client-side (web app).&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Bertrand_Laurancin_8-1625755700619.png" style="width: 400px;"&gt;&lt;img src="https://community.esri.com/t5/image/serverpage/image-id/17985iD6206F46BDDCBF5F/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Bertrand_Laurancin_8-1625755700619.png" alt="Bertrand_Laurancin_8-1625755700619.png" /&gt;&lt;/span&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Bertrand_Laurancin_9-1625755727575.png" style="width: 400px;"&gt;&lt;img src="https://community.esri.com/t5/image/serverpage/image-id/17986i778ABAB5596C6487/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Bertrand_Laurancin_9-1625755727575.png" alt="Bertrand_Laurancin_9-1625755727575.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;I think I must use&amp;nbsp;&lt;A href="https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-Geoprocessor.html#waitForJobCompletion" target="_self"&gt;waitForJobCompletion()&lt;/A&gt; method but I tried unsuccessfully.&lt;/P&gt;&lt;P&gt;Could you help me please ?&lt;/P&gt;&lt;P&gt;Thank you,&lt;/P&gt;&lt;P&gt;Bertrand&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Thu, 08 Jul 2021 14:50:32 GMT</pubDate>
    <dc:creator>Bertrand_Laurancin</dc:creator>
    <dc:date>2021-07-08T14:50:32Z</dc:date>
    <item>
      <title>ArcGIS API for Javascript &amp;colon; Class:  esri/tasks/Geoprocessor - submitJob | getResultData</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/arcgis-api-for-javascript-amp-colon-class-esri/m-p/1076760#M73775</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;I created a gp service&amp;nbsp;that allows to load a csv file (It contains addresses and It is attached at this post).&lt;/P&gt;&lt;P&gt;It works&amp;nbsp;as expected :&lt;/P&gt;&lt;P&gt;&lt;A href="https://supad-t1-age1081.westus2.cloudapp.azure.com/server/rest/services/UploadFile/GPServer/uploads/upload" target="_blank" rel="noopener"&gt;https://supad-t1-age1081.westus2.cloudapp.azure.com/server/rest/services/UploadFile/GPServer/uploads/upload&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Bertrand_Laurancin_0-1625754620872.png" style="width: 400px;"&gt;&lt;img src="https://community.esri.com/t5/image/serverpage/image-id/17977i24AAD740C6EFC785/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Bertrand_Laurancin_0-1625754620872.png" alt="Bertrand_Laurancin_0-1625754620872.png" /&gt;&lt;/span&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Bertrand_Laurancin_1-1625754644735.png" style="width: 400px;"&gt;&lt;img src="https://community.esri.com/t5/image/serverpage/image-id/17978i8028C920DCB2C7A7/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Bertrand_Laurancin_1-1625754644735.png" alt="Bertrand_Laurancin_1-1625754644735.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;I get an Item ID.&lt;/P&gt;&lt;P&gt;I created a gp service&amp;nbsp;that allows to geocode addresses (from the Item ID generated at the step previous) :&lt;/P&gt;&lt;P&gt;&lt;A href="https://supad-t1-age1081.westus2.cloudapp.azure.com/server/rest/services/BatchGeocode3/GPServer" target="_blank" rel="noopener"&gt;https://supad-t1-age1081.westus2.cloudapp.azure.com/server/rest/services/BatchGeocode3/GPServer&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Bertrand_Laurancin_2-1625754934564.png" style="width: 400px;"&gt;&lt;img src="https://community.esri.com/t5/image/serverpage/image-id/17979i5C66AC285831E256/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Bertrand_Laurancin_2-1625754934564.png" alt="Bertrand_Laurancin_2-1625754934564.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;It works&amp;nbsp;as expected :&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Bertrand_Laurancin_3-1625754996734.png" style="width: 400px;"&gt;&lt;img src="https://community.esri.com/t5/image/serverpage/image-id/17980i96A2B296C03566E3/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Bertrand_Laurancin_3-1625754996734.png" alt="Bertrand_Laurancin_3-1625754996734.png" /&gt;&lt;/span&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Bertrand_Laurancin_4-1625755028564.png" style="width: 400px;"&gt;&lt;img src="https://community.esri.com/t5/image/serverpage/image-id/17981i2CD07D30773E052C/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Bertrand_Laurancin_4-1625755028564.png" alt="Bertrand_Laurancin_4-1625755028564.png" /&gt;&lt;/span&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Bertrand_Laurancin_5-1625755065516.png" style="width: 400px;"&gt;&lt;img src="https://community.esri.com/t5/image/serverpage/image-id/17982i0DD9078508511861/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Bertrand_Laurancin_5-1625755065516.png" alt="Bertrand_Laurancin_5-1625755065516.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;In a Web Application, I use the Geoprocessor class to execute the task :&lt;/P&gt;&lt;P&gt;&lt;A href="https://codepen.io/blaurancin/pen/PomNEeK" target="_blank" rel="noopener"&gt;https://codepen.io/blaurancin/pen/PomNEeK&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="javascript"&gt;&amp;lt;html&amp;gt;

&amp;lt;head&amp;gt;
  &amp;lt;meta charset="utf-8" /&amp;gt;
  &amp;lt;meta name="viewport" content="initial-scale=1,maximum-scale=1,user-scalable=no" /&amp;gt;
  &amp;lt;title&amp;gt;
    Batch geocode from upload file
  &amp;lt;/title&amp;gt;
  &amp;lt;link rel="stylesheet" href="https://js.arcgis.com/4.19/esri/themes/dark/main.css" /&amp;gt;
  &amp;lt;script src="https://js.arcgis.com/4.19/"&amp;gt;&amp;lt;/script&amp;gt;

  &amp;lt;script&amp;gt;
    require(["esri/Map", "esri/views/MapView", "esri/request", "esri/tasks/Geoprocessor"], (Map, MapView, esriRequest, Geoprocessor) =&amp;gt; {
      const map = new Map({
        basemap: "dark-gray"
      });
      const view = new MapView({
        container: "viewDiv",
        map: map,
        zoom: 2,
        // center: [15, 65] // longitude, latitude
      });
      view.ui.move(["compass", "zoom"], "top-right");
      //
      const myForm = document.getElementById("uploadForm");
      //
      const ItemID = document.getElementById("ItemID");
      //
      const uploadStatus = document.getElementById("upload-status")
      //
      const fileUploadUrl = "https://supad-t1-age1081.westus2.cloudapp.azure.com/server/rest/services/UploadFile/GPServer/uploads/upload";
      //
      const gpUrl = "https://supad-t1-age1081.westus2.cloudapp.azure.com/server/rest/services/BatchGeocode3/GPServer/BatchGeocode3/submitJob";
      //
      const gp = new Geoprocessor(gpUrl);
      //
      myForm.addEventListener("change", function(event) {
        var fileName = event.target.value.toLowerCase();
        if (fileName.indexOf(".csv") !== -1) {
          console.log("fileName", fileName);
          uploadFile(fileName);
        } else {
          ItemID.innerHTML = "";
          ItemID.innerHTML = "It is not a csv file";
          uploadStatus.innerHTML = "";
        }
      });

      function uploadFile(fileName) {
        let name = fileName.split(".");
        // Chrome and IE add c:\fakepath to the value - we need to remove it
        // see this link for more info: http://davidwalsh.name/fakepath
        name = name[0].replace("c:\\fakepath\\", "");
        console.log("name", name);
        let upload = esriRequest(
          fileUploadUrl, {
            body: myForm,
            method: "post",
            responseType: "text" //Ideally would return as json but that doesn't seem to work for me
          }
        ).then(uploadSucceeded, errBackUplaod); //
      }

      function errBackUplaod(error) {
        console.log("upload: ", error);
      }

      function errBack(error) {
        uploadStatus.innerHTML = "";
        uploadStatus.innerHTML = "Error: " + error;
        console.log("gp error: ", error);
      }

      function progTest(value) {
        document.getElementById("upload-status").innerHTML = "Job status: " + "'" + value.jobStatus + "'";
        console.log(value.jobStatus);
      }

      function handleResult(result) {
        console.log("result.jobStatus", result.jobStatus);
        if (result.jobStatus == "job-failed") {
          for (let message of result.messages)
            console.log(message.description)
          return
        }
        uploadStatus.innerHTML = "";
        uploadStatus.innerHTML = result.jobStatus;
        console.log("jobID: " + result.jobId);
        gp.getResultData(result.jobId, "outFile").then(function(result) {
          console.log("result.dataType : " + result.dataType);
          console.log("result.value : " + result.value);
        });
      }

      function uploadSucceeded(result) {
        let element = document.createElement('html');
        let itemID = "";
        let itemURL = "";
        element.innerHTML = result.data;
        let tdElements = element.getElementsByTagName('td');
        for (let tdElement of tdElements) {
          if (tdElement.innerHTML == "Item ID:") {
            itemID = tdElement.nextElementSibling.firstChild.innerHTML;
          }
        }
        if (itemID == "") {
          console.log("Could not get file item id");
          return
        }
        console.log("itemID: " + itemID);
        let params = {
          my_addresses_csv: "{'itemID':'" + itemID + "'}" //Replaces the need for the DataFile object
        };
        console.log("params", params);
        let element2 = document.createElement("div");
        let text = document.createTextNode("{'itemID':'" + itemID + "'}");
        element2.appendChild(text);
        ItemID.innerHTML = "";
        ItemID.appendChild(element2);
        gp.submitJob(params).then(handleResult, errBack, progTest); // gp.submitJob(params).then(handleResult);  
        // gp.submitJob(params).then((jobInfo) =&amp;gt; {
        //   const options = {
        //     statusCallback: (jobInfo1) =&amp;gt; {
        //       progTest(jobInfo1);
        //     }
        //   };
        //   // once the job completes, add resulting layer to map
        //   gp.waitForJobCompletion(jobInfo.jobId, options).then((jobInfo2) =&amp;gt; {
        //     handleResult(jobInfo2);
        //   });
        // });
      }
    });
  &amp;lt;/script&amp;gt;
&amp;lt;/head&amp;gt;

&amp;lt;body&amp;gt;
  &amp;lt;div id="viewDiv"&amp;gt;&amp;lt;/div&amp;gt;
  &amp;lt;div id="myPanel"&amp;gt;
    &amp;lt;p&amp;gt;&amp;lt;/p&amp;gt;
    &amp;lt;form enctype="multipart/form-data" method="post" id="uploadForm"&amp;gt;
      &amp;lt;div class="field"&amp;gt;
        &amp;lt;label class="file-upload"&amp;gt;
          &amp;lt;span&amp;gt;&amp;lt;strong&amp;gt;Add File&amp;lt;/strong&amp;gt;&amp;lt;/span&amp;gt;
          &amp;lt;p&amp;gt;&amp;lt;/p&amp;gt;
          &amp;lt;input type="file" name="file" id="inFile" /&amp;gt;
        &amp;lt;/label&amp;gt;
      &amp;lt;/div&amp;gt;
    &amp;lt;/form&amp;gt;
    &amp;lt;p&amp;gt;&amp;lt;/p&amp;gt;
    &amp;lt;div id="ItemID"&amp;gt;&amp;lt;/div&amp;gt;
    &amp;lt;p&amp;gt;&amp;lt;/p&amp;gt;
    &amp;lt;div id="upload-status"&amp;gt;&amp;lt;/div&amp;gt;
  &amp;lt;/div&amp;gt;

&amp;lt;/body&amp;gt;

&amp;lt;/html&amp;gt;&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;It works. The json output file is created on the server in \arcgisjobs\batchgeocode3_gpserver\&amp;lt;ID&amp;gt;\scratch:&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Bertrand_Laurancin_6-1625755555236.png" style="width: 400px;"&gt;&lt;img src="https://community.esri.com/t5/image/serverpage/image-id/17983iAA3A0F496253F183/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Bertrand_Laurancin_6-1625755555236.png" alt="Bertrand_Laurancin_6-1625755555236.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Bertrand_Laurancin_7-1625755603160.png" style="width: 400px;"&gt;&lt;img src="https://community.esri.com/t5/image/serverpage/image-id/17984i0DEB0A4CBC335846/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Bertrand_Laurancin_7-1625755603160.png" alt="Bertrand_Laurancin_7-1625755603160.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;However, I'm not able to get the result in the client-side (web app).&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Bertrand_Laurancin_8-1625755700619.png" style="width: 400px;"&gt;&lt;img src="https://community.esri.com/t5/image/serverpage/image-id/17985iD6206F46BDDCBF5F/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Bertrand_Laurancin_8-1625755700619.png" alt="Bertrand_Laurancin_8-1625755700619.png" /&gt;&lt;/span&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Bertrand_Laurancin_9-1625755727575.png" style="width: 400px;"&gt;&lt;img src="https://community.esri.com/t5/image/serverpage/image-id/17986i778ABAB5596C6487/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Bertrand_Laurancin_9-1625755727575.png" alt="Bertrand_Laurancin_9-1625755727575.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;I think I must use&amp;nbsp;&lt;A href="https://developers.arcgis.com/javascript/latest/api-reference/esri-tasks-Geoprocessor.html#waitForJobCompletion" target="_self"&gt;waitForJobCompletion()&lt;/A&gt; method but I tried unsuccessfully.&lt;/P&gt;&lt;P&gt;Could you help me please ?&lt;/P&gt;&lt;P&gt;Thank you,&lt;/P&gt;&lt;P&gt;Bertrand&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 08 Jul 2021 14:50:32 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/arcgis-api-for-javascript-amp-colon-class-esri/m-p/1076760#M73775</guid>
      <dc:creator>Bertrand_Laurancin</dc:creator>
      <dc:date>2021-07-08T14:50:32Z</dc:date>
    </item>
    <item>
      <title>Re: ArcGIS API for Javascript &amp;colon; Class:  esri/tasks/Geoprocessor - submitJob | getResultData</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/arcgis-api-for-javascript-amp-colon-class-esri/m-p/1079379#M73896</link>
      <description>&lt;P&gt;Following code works for me.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;// upload file&lt;BR /&gt;var fileUploadUrl = gpserviceUrl + '/uploads/upload'&lt;BR /&gt;esri.request({&lt;BR /&gt;url: fileUploadUrl,&lt;BR /&gt;form: dojo.byId(uploadForm),&lt;BR /&gt;content: { f: "json" },&lt;BR /&gt;handleAs : "text",&lt;BR /&gt;},{usePost: true, useProxy:false}).then(uploadSucceeded, uploadFailed);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;function uploadSucceeded(response){&lt;BR /&gt;var jsonObj = JSON.parse(response);&lt;BR /&gt;&lt;BR /&gt;var status = jsonObj["success"];&lt;BR /&gt;if(status == true){&lt;BR /&gt;var item = jsonObj["item"];&lt;BR /&gt;var itemID = item["itemID"]&lt;BR /&gt;//console.log("itemID", itemID);&lt;BR /&gt;&lt;BR /&gt;// gp process&lt;/P&gt;&lt;P&gt;var params = {'CSV_File': "{'itemID':'" + itemID + "'}", 'X_Field': xfield_value, 'Y_Field': yfield_value, 'Polygon_Data': polygon_data, 'statistics_type': statisticstype_value, 'statistics_field': statisticsfield_value};&lt;BR /&gt;console.log(params);&lt;BR /&gt;&lt;BR /&gt;gp.submitJob(params, completeCallback, statusCallback);&lt;/P&gt;&lt;P&gt;} else {&lt;BR /&gt;$('#loadingDiv').css( "display", "none");&lt;BR /&gt;window.alert("Error: upload failed...");&lt;BR /&gt;}&lt;BR /&gt;}&lt;BR /&gt;function uploadFailed(response){&lt;BR /&gt;$('#loadingDiv').css( "display", "none");&lt;BR /&gt;alert('Upload failed: ', response);&lt;BR /&gt;}&lt;/P&gt;</description>
      <pubDate>Thu, 15 Jul 2021 19:05:56 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/arcgis-api-for-javascript-amp-colon-class-esri/m-p/1079379#M73896</guid>
      <dc:creator>XiaoyiZhang1</dc:creator>
      <dc:date>2021-07-15T19:05:56Z</dc:date>
    </item>
  </channel>
</rss>

