DmitrMakeev commited on
Commit
58d908b
·
verified ·
1 Parent(s): ad70c61

Update nutri_call.html

Browse files
Files changed (1) hide show
  1. nutri_call.html +14 -19
nutri_call.html CHANGED
@@ -326,7 +326,7 @@
326
 
327
  <script>
328
  document.getElementById('calculate-btn').addEventListener('click', function() {
329
- // Функция для безопасного получения числового значения
330
  const getValue = (id) => {
331
  const element = document.getElementById(id);
332
  const value = parseFloat(element.value);
@@ -337,8 +337,8 @@ document.getElementById('calculate-btn').addEventListener('click', function() {
337
  return value;
338
  };
339
 
340
- // Формируем данные в ТОЧНОМ формате, как на сервере
341
- const serverData = {
342
  fertilizerConstants: {
343
  "Кальциевая селитра": {
344
  "N (NO3-)": getValue('fert_ca_no3') / 100,
@@ -377,30 +377,25 @@ document.getElementById('calculate-btn').addEventListener('click', function() {
377
  }
378
  };
379
 
380
- // Выводим данные для проверки
381
- console.log("Сформированные данные для сервера:");
382
- console.log(JSON.stringify(serverData, null, 2));
383
 
384
- // Проверка на ошибки
385
  let hasErrors = false;
386
-
387
- // Проверка удобрений
388
- const requiredFertilizers = [
389
- "Кальциевая селитра", "Калий азотнокислый", "Аммоний азотнокислый",
390
- "Сульфат магния", "Монофосфат калия", "Калий сернокислый"
391
- ];
392
 
393
  for (const fert of requiredFertilizers) {
394
- if (!serverData.fertilizerConstants[fert]) {
395
  console.error(`Отсутствует удобрение: ${fert}`);
396
  hasErrors = true;
397
  }
398
  }
399
-
400
- // Проверка элементов
401
  const requiredElements = ['P', 'K', 'Mg', 'Ca', 'S', 'N (NO3-)', 'N (NH4+)'];
402
  for (const elem of requiredElements) {
403
- if (isNaN(serverData.profileSettings[elem])) {
404
  console.error(`Некорректное значение для элемента ${elem}`);
405
  hasErrors = true;
406
  }
@@ -411,7 +406,7 @@ document.getElementById('calculate-btn').addEventListener('click', function() {
411
  return;
412
  }
413
 
414
- // Отправка данных на сервер
415
  console.log("Отправка данных на сервер...");
416
  const xhr = new XMLHttpRequest();
417
  xhr.open("POST", "/calculation", true);
@@ -433,7 +428,7 @@ document.getElementById('calculate-btn').addEventListener('click', function() {
433
  console.error("Ошибка сети при отправке запроса");
434
  };
435
 
436
- xhr.send(JSON.stringify(serverData));
437
  });
438
  </script>
439
 
 
326
 
327
  <script>
328
  document.getElementById('calculate-btn').addEventListener('click', function() {
329
+ // 1. Функция для безопасного получения числового значения
330
  const getValue = (id) => {
331
  const element = document.getElementById(id);
332
  const value = parseFloat(element.value);
 
337
  return value;
338
  };
339
 
340
+ // 2. Формируем данные в ТОЧНОМ формате для сервера
341
+ const requestData = {
342
  fertilizerConstants: {
343
  "Кальциевая селитра": {
344
  "N (NO3-)": getValue('fert_ca_no3') / 100,
 
377
  }
378
  };
379
 
380
+ // 3. Выводим данные для проверки
381
+ console.log("Данные для отправки на сервер:");
382
+ console.log(JSON.stringify(requestData, null, 2));
383
 
384
+ // 4. Проверка данных
385
  let hasErrors = false;
386
+ const requiredFertilizers = ["Кальциевая селитра", "Калий азотнокислый", "Аммоний азотнокислый",
387
+ "Сульфат магния", "Монофосфат калия", "Калий сернокислый"];
 
 
 
 
388
 
389
  for (const fert of requiredFertilizers) {
390
+ if (!requestData.fertilizerConstants[fert]) {
391
  console.error(`Отсутствует удобрение: ${fert}`);
392
  hasErrors = true;
393
  }
394
  }
395
+
 
396
  const requiredElements = ['P', 'K', 'Mg', 'Ca', 'S', 'N (NO3-)', 'N (NH4+)'];
397
  for (const elem of requiredElements) {
398
+ if (isNaN(requestData.profileSettings[elem])) {
399
  console.error(`Некорректное значение для элемента ${elem}`);
400
  hasErrors = true;
401
  }
 
406
  return;
407
  }
408
 
409
+ // 5. Отправка данных на сервер
410
  console.log("Отправка данных на сервер...");
411
  const xhr = new XMLHttpRequest();
412
  xhr.open("POST", "/calculation", true);
 
428
  console.error("Ошибка сети при отправке запроса");
429
  };
430
 
431
+ xhr.send(JSON.stringify(requestData));
432
  });
433
  </script>
434