DmitrMakeev commited on
Commit
6890dba
·
verified ·
1 Parent(s): f825ee6

Update nutri_call.html

Browse files
Files changed (1) hide show
  1. nutri_call.html +28 -38
nutri_call.html CHANGED
@@ -337,73 +337,63 @@ const NUTRIENT_CONTENT_IN_FERTILIZERS = {
337
 
338
  // Функция для пересчета процентов в константы
339
  document.getElementById('calculate-btn').addEventListener('click', function() {
340
- // 1. Собираем данные с формы
341
- const calculationData = {
342
  fertilizerConstants: {
343
  "CaN2O6": {
344
- "NO3": parseFloat(document.getElementById('fert_ca_no3').value) / 100,
345
- "Ca": parseFloat(document.getElementById('fert_ca_ca').value) / 100
346
  },
347
  "KNO3": {
348
- "NO3": parseFloat(document.getElementById('fert_kno3_no3').value) / 100,
349
- "K": parseFloat(document.getElementById('fert_kno3_k').value) / 100
350
  },
351
  "NH4NO3": {
352
- "NH4": parseFloat(document.getElementById('fert_nh4no3_nh4').value) / 100,
353
- "NO3": parseFloat(document.getElementById('fert_nh4no3_no3').value) / 100
354
  },
355
  "MgSO4": {
356
- "Mg": parseFloat(document.getElementById('fert_mgso4_mg').value) / 100,
357
- "S": parseFloat(document.getElementById('fert_mgso4_s').value) / 100
358
  },
359
  "KH2PO4": {
360
- "P": parseFloat(document.getElementById('fert_kh2po4_p').value) / 100,
361
- "K": parseFloat(document.getElementById('fert_kh2po4_k').value) / 100
362
  },
363
  "K2SO4": {
364
- "K": parseFloat(document.getElementById('fert_k2so4_k').value) / 100,
365
- "S": parseFloat(document.getElementById('fert_k2so4_s').value) / 100
366
  }
367
  },
368
  profileSettings: {
369
- "N": parseFloat(document.getElementById('profile_p').value),
370
- "P": parseFloat(document.getElementById('profile_k').value),
371
- "K": parseFloat(document.getElementById('profile_ca').value),
372
- "Ca": parseFloat(document.getElementById('profile_mg').value),
373
- "Mg": parseFloat(document.getElementById('profile_s').value),
374
- "S": parseFloat(document.getElementById('profile_cl').value),
375
- "NH4": parseFloat(document.getElementById('profile_nh4').value),
376
- "NO3": parseFloat(document.getElementById('profile_no3').value),
377
- "liters": parseInt(document.getElementById('liters-input').value) || 1
378
  }
379
  };
380
 
381
- // 2. Создаем объект XMLHttpRequest как в вашем рабочем примере
382
  var xhr = new XMLHttpRequest();
383
- xhr.open("POST", "/calculation", true);
384
  xhr.setRequestHeader("Content-Type", "application/json");
385
 
386
  xhr.onreadystatechange = function() {
387
  if (xhr.readyState === 4) {
388
  if (xhr.status === 200) {
389
- var response = JSON.parse(xhr.responseText);
390
- console.log("Успешный ответ от сервера:", response);
391
- // Здесь можно обработать успешный ответ
392
- alert("Расчет выполнен успешно!");
393
  } else {
394
- console.error("Ошибка сервера:", xhr.status, xhr.statusText);
395
- alert("Ошибка сервера: " + xhr.status + " " + xhr.statusText);
396
  }
397
  }
398
  };
399
 
400
- xhr.onerror = function() {
401
- console.error("Ошибка сети");
402
- alert("Ошибка сети при отправке запроса");
403
- };
404
-
405
- // 3. Отправляем данные
406
- xhr.send(JSON.stringify(calculationData));
407
  });
408
  </script>
409
 
 
337
 
338
  // Функция для пересчета процентов в константы
339
  document.getElementById('calculate-btn').addEventListener('click', function() {
340
+ // 1. Собираем данные вручную (как в вашем рабочем коде)
341
+ const data = {
342
  fertilizerConstants: {
343
  "CaN2O6": {
344
+ "NO3": document.getElementById('fert_ca_no3').value / 100,
345
+ "Ca": document.getElementById('fert_ca_ca').value / 100
346
  },
347
  "KNO3": {
348
+ "NO3": document.getElementById('fert_kno3_no3').value / 100,
349
+ "K": document.getElementById('fert_kno3_k').value / 100
350
  },
351
  "NH4NO3": {
352
+ "NH4": document.getElementById('fert_nh4no3_nh4').value / 100,
353
+ "NO3": document.getElementById('fert_nh4no3_no3').value / 100
354
  },
355
  "MgSO4": {
356
+ "Mg": document.getElementById('fert_mgso4_mg').value / 100,
357
+ "S": document.getElementById('fert_mgso4_s').value / 100
358
  },
359
  "KH2PO4": {
360
+ "P": document.getElementById('fert_kh2po4_p').value / 100,
361
+ "K": document.getElementById('fert_kh2po4_k').value / 100
362
  },
363
  "K2SO4": {
364
+ "K": document.getElementById('fert_k2so4_k').value / 100,
365
+ "S": document.getElementById('fert_k2so4_s').value / 100
366
  }
367
  },
368
  profileSettings: {
369
+ "N": document.getElementById('profile_p').value,
370
+ "P": document.getElementById('profile_k').value,
371
+ "K": document.getElementById('profile_ca').value,
372
+ "Ca": document.getElementById('profile_mg').value,
373
+ "Mg": document.getElementById('profile_s').value,
374
+ "S": document.getElementById('profile_cl').value,
375
+ "NH4": document.getElementById('profile_nh4').value,
376
+ "NO3": document.getElementById('profile_no3').value,
377
+ "liters": document.getElementById('liters-input').value || 1
378
  }
379
  };
380
 
381
+ // 2. Отправка через XMLHttpRequest (как у вас работает)
382
  var xhr = new XMLHttpRequest();
383
+ xhr.open("POST", "/calculation", true); // Относительный URL!
384
  xhr.setRequestHeader("Content-Type", "application/json");
385
 
386
  xhr.onreadystatechange = function() {
387
  if (xhr.readyState === 4) {
388
  if (xhr.status === 200) {
389
+ console.log("Ответ сервера:", JSON.parse(xhr.responseText));
 
 
 
390
  } else {
391
+ console.error("Ошибка:", xhr.status, xhr.statusText);
 
392
  }
393
  }
394
  };
395
 
396
+ xhr.send(JSON.stringify(data));
 
 
 
 
 
 
397
  });
398
  </script>
399