Advertisement
Impressa

Ajax with Promise, i dont know why...

Nov 21st, 2019
159
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //Frontend Part
  2. function getNextDse(node, rs, rj) {
  3.     let string_json = JSON.stringify(assocnodes);
  4.     $.ajax({
  5.         type: "POST",
  6.         url: "magic.php",
  7.         data: {
  8.             'nodes': string_json,
  9.             'action': 'GetEquipmentCodeAndTitleByProductCode'
  10.         },
  11.         dataType: "json",
  12.         success: function(data) {
  13.             let searchnode;
  14.             $(data).each(function(index, element) {
  15.                 debugger;
  16.                 if (element.dse !== "") {
  17.                     searchnode = $(document).find("[id='dse_" + element.node_id + "']");
  18.                     searchnode.data("sql", JSON.stringify(element.dse));
  19.                     searchnode.show();
  20.                 }
  21.             });
  22.             rs();
  23.         },
  24.         error: function(XMLHttpRequest, textStatus, errorThrown) {
  25.             console.log(textStatus);
  26.             debugger;
  27.             rj();
  28.         }
  29.     });
  30. }
  31.  
  32. $(document).ready(function() {
  33.     let assocnodes = [];
  34.  
  35.     $('.dse_equipment').each(function(index, element) {
  36.         $(element).attr('id', 'dse_' + index);
  37.         assocnodes.push({
  38.             node_id: index,
  39.             data: element.dataset.dse
  40.         });
  41.     });
  42.  
  43.     $('.equipment_show').on('click', function(e) {
  44.         $('.spinner').fadeIn();
  45.         let awaits = new Promise(function(rs, rj) {
  46.             getNextDse(assocnodes, rs, rj)
  47.         });
  48.         awaits.then(results => {
  49.             $(".spinner").fadeOut();
  50.         });
  51.     });
  52. });
  53.  
  54.  
  55.  
  56. //Backend part
  57. <?php
  58. define("_INC", 1);
  59. require_once ("./cmsconf.php");
  60. sql_connect2();
  61. if($_POST['action'] === 'GetEquipmentCodeAndTitleByProductCode'){
  62.   $RetArr = [];
  63.   $i = 0;
  64.   foreach (json_decode($_POST['nodes']) as $value){
  65.     $RetArr[$i] = [];
  66.     $RetArr[$i]['node_id'] = $value->node_id;
  67.     $RetArr[$i]['dse'] = sqltab_i('
  68.                        SELECT
  69.                        equipment.id,
  70.                        equipment.code,
  71.                        equipment.title
  72.                        FROM `equipment_products`
  73.                        LEFT JOIN products ON products.id = product_id
  74.                        LEFT JOIN equipment ON equipment.id = equipment_id
  75.                        WHERE products.code = "'.$value->data .'" GROUP BY equipment.id;');
  76.     $i++;
  77.   }
  78.   echo json_encode($RetArr);
  79. }
  80. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement