Я пытаюсь получить значение calcul в моем контроллере действий, который я назвал действием через ajax httpPost.Я хочу получить значение моего исчисления и поместить его в деление.но я не знаю, нужно ли мне использовать HttpPost или HttpGet. Или, может быть, я сделал что-то плохое.
function calcul() {
$.ajax({
url: '/Pokedex/calcul/',
type: 'POST',
dataType: "html",
success: function (capture) {
console.log('Calcul HttpPost ok');
$('#captureTitle').removeClass('text-hide');
//enlever la classe pour afficher le contenu de la div
$('#captureTxt').removeClass('text-hide');
//vider le contenu de la div
$("#captureTxt").empty();
//écrire dans la div
$("#captureTxt").append(capture);
},
error: function () {
console.log('Erreur Calcul');
}
})
}
Мой контроллер:
public IActionResult Calcul()
{
if (TempData["pokemonRateJsonTemp"] == null || TempData["pokemonBballTemp"] == null)
{
return null;
}
//Rate du pokemon sélectionné
var pokemonRateJsonTempString = TempData["pokemonRateJsonTemp"].ToString();
var PokemonRateDeserialized = JsonConvert.DeserializeObject(pokemonRateJsonTempString);
var rate = Convert.ToInt32(PokemonRateDeserialized);
// //bball est le Bonus Ball de la Ball utilisée : 1 pour une Poké Ball, 1,5 pour une Super Ball, 2 pour HyperBall et 255 pour Master Ball
// var bball = 1;
var pokemonBballJsonTempString = TempData["pokemonBballTemp"].ToString();
var PokemonBballDeserialized = JsonConvert.DeserializeObject(pokemonBballJsonTempString);
var bBall = Convert.ToDouble(PokemonBballDeserialized);
//bstatut est le bonus du statut :
//1 si le statut du Pokémon n'est pas altéré,
//1,5 s'il est paralysé, empoisonné ou brûlé,
//2 s'il est endormi ou gelé ;
var bStatut = 1;
//Calcul de la valeur
var a = (1 - 2D / 3D * 100 / 100) * rate * bBall * bStatut;
// Si le résultat de a est supérieur ou égal à 255 alors le pokémon est directement capturé!
if (a >= 255)
{
var capture = "100% de chance capture !";
return RedirectToAction("Index", capture);
}
else
{
//calcule de 2^16
var pow1 = Math.Pow(2, 16);
//calcule de 2^8
var pow2 = Math.Pow(2, 8);
//calcule de a/2^8-1
var aDivPow2 = a / (pow2 - 1);
//calcule de racine 4(a/2^8-1)
var racine4aDivPow2 = Math.Pow(aDivPow2, 1D / 4D);
//calcul de b
var b = (pow1 - 1) * racine4aDivPow2;
//calcul de probabilités que l'un des quatres nombres aléatoire tiré par le jeu sois inférieur a b
var p1 = (b + 1) / 65535;
//probabilité pour qu'ils le soient tous les quatre, c'est-à-dire que le Pokémon soit capturé.
var p = Math.Pow(p1, 4);
var pourcentage = p * 100;
//arondissement de la valeur à 0.00
var pourcentageArondi = Math.Round(pourcentage, 3);
return RedirectToAction("Index", pourcentageArondi);
}
}
Результат моей проблемы
..........................................................................................................