Spaces:
Sleeping
Sleeping
Update nutri_call.html
Browse files- 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
|
342 |
fertilizerConstants: {
|
343 |
"CaN2O6": {
|
344 |
-
"NO3":
|
345 |
-
"Ca":
|
346 |
},
|
347 |
"KNO3": {
|
348 |
-
"NO3":
|
349 |
-
"K":
|
350 |
},
|
351 |
"NH4NO3": {
|
352 |
-
"NH4":
|
353 |
-
"NO3":
|
354 |
},
|
355 |
"MgSO4": {
|
356 |
-
"Mg":
|
357 |
-
"S":
|
358 |
},
|
359 |
"KH2PO4": {
|
360 |
-
"P":
|
361 |
-
"K":
|
362 |
},
|
363 |
"K2SO4": {
|
364 |
-
"K":
|
365 |
-
"S":
|
366 |
}
|
367 |
},
|
368 |
profileSettings: {
|
369 |
-
"N":
|
370 |
-
"P":
|
371 |
-
"K":
|
372 |
-
"Ca":
|
373 |
-
"Mg":
|
374 |
-
"S":
|
375 |
-
"NH4":
|
376 |
-
"NO3":
|
377 |
-
"liters":
|
378 |
}
|
379 |
};
|
380 |
|
381 |
-
// 2.
|
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 |
-
|
390 |
-
console.log("Успешный ответ от сервера:", response);
|
391 |
-
// Здесь можно обработать успешный ответ
|
392 |
-
alert("Расчет выполнен успешно!");
|
393 |
} else {
|
394 |
-
console.error("
|
395 |
-
alert("Ошибка сервера: " + xhr.status + " " + xhr.statusText);
|
396 |
}
|
397 |
}
|
398 |
};
|
399 |
|
400 |
-
xhr.
|
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 |
|