JSFiddle - React, Tailwind, and code Playground

HTML

Точка прибытия: <select id="arrivalPoint"></select>

JavaScript

// This line taken from J50Npi.min.js (within this repo)
var J50Npi = {  
    currentScript: null,  
    getJSON: function(url, data, callback) {
      var src = url + (url.indexOf("?")+1 ? "&" : "?");
      var head = document.getElementsByTagName("head")[0];
      var newScript = document.createElement("script");
      var params = [];
      var param_name = ""

      this.success = callback;

      data["callback"] = callback;
      for(param_name in data){  
          params.push(param_name + "=" + encodeURIComponent(data[param_name]));  
      }
      src += params.join("&")

      newScript.type = "text/javascript";  
      newScript.src = src;

      if(this.currentScript) head.removeChild(currentScript);
      head.appendChild(newScript); 
    },
    success: null
}; 






          



var url2 = 'http://emspost.ru/api/rest/?method=ems.get.locations&callback=arrivalPointRender';
var data2 = {plain: "true", type:"russia"};

// We need a function callback to be executed after the response is received
var arrivalPointRender = function(data2){
    var html = '', selected = false;

       for(var i = 0; i < data2.rsp.locations.length; i++){
      
         if(data2.rsp.locations[i].type=="cities") {data2.rsp.locations[i].type="(город)"};
            if(data2.rsp.locations[i].type=="regions") {data2.rsp.locations[i].type="(регион)"};
       
           html += '<option value="'+data2.rsp.locations[i].value+'"'+(selected?'':' selected')+'>'+data2.rsp.locations[i].name+' '+data2.rsp.locations[i].type +'</option>'
        selected = false    
                                                         
     }
 document.getElementById('arrivalPoint').innerHTML = html;   
    }
J50Npi.getJSON(url2, data2, arrivalPointRender);




var urlCalcPost = 'http://emspost.ru/api/rest?method=ems.calculate&callback=CalcPost&from=city--moskva&to=region--omskaja-oblast&weight=1.5';
var dataCalcPost = {plain: "true"};
var CalcPost = function(dataCalcPost){ 
  
...