Transmission de flux, Javascript, Ajax, Json
Bonsoir à tous,
J'ai un gros problème depuis 15jours que je n'arrive pas à solutionner.
un développeur qui travaille pour moi tente de réaliser une API pour transmettre des données vers une entreprise.
Or les données ne parviennent pas a destination, car un double quotte apparaît toujours dans le résultat final, et le serveur de destination refuse qu'il y ait des quottes, principalement dans les valeurs numériques.
par exemple dans mon code ci-dessous j'ai 'montant' : parseInt($(this).find("input[name='solde']").val()), et le resultat final doit être solde : 100, et moi j'ai solde :"100",.
Voici le code complet, je remercie par avance toute personne qui pourra nous aider a trouver la solutions. Excellente soirée a tous.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
| window.addEventListener("load", function(){
$("input[name='nclcred']").keyup(function(event){poplate(event)});
//var name_input = document.getElementById('nclcred');
//name_input.addEventListener("keyup", function(event){poplate(event)});
window.hinterXHR = new XMLHttpRequest();
});
function poplate(event) {
var input = event.target;
var societes_c = document.getElementById('societes_c');
var min_characters = 0;
if (input.value.length < min_characters ) { return;}
else
{
window.hinterXHR.abort();
window.hinterXHR.onreadystatechange = function()
{
if (this.readyState == 4 && this.status == 200)
{
var response = JSON.parse( this.responseText );
societes_credits.innerHTML = "";
response.forEach(function(item)
{
var option = document.createElement('option');
option.value = item;
societes_credits.appendChild(option);
});
}
};
window.hinterXHR.open("GET", "societes.php?query=" + input.value, true);
window.hinterXHR.send()
}
}
function searchSociete(societe){
var societes = {
"1" : "AAAAAA",
"2" : "BBBBBB",
"3" : "CCCCCC",
"4" : "DDDDD",
"5" : "EEEEEE"
};
for (var i in societes) {
if (societes[i] === societe){
return i;
}
}
return "5"; // Autre organisme
}
$( document ).ready(function()
{
$("#form-toto").on('submit', function(e)
{
e.preventDefault();
var $submiteBtn = $('#envoyer');
$submiteBtn.button('loading');
$form = $(this);
var formData = {
'numero_contremarque' : $("input[name='numero_c']").val(),
'monsieur' : {
'etat_civil': {
'civilite': $("select[name='n_cl_civ_e']").val(),
'nom': $("input[name='nom_e']").val(),
'prenom': $("input[name='prenom_e']").val(),
},
},
'foyer' : {
'statut_logement' : $("select[name='n_cl_log']").val(),
'date_entree' : $("input[name='log_depuis']").val()+"T00:00:00",
'nombre_personne_foyer': parseInt($("input[name='log_nb_p']").val()),
'nombre_enfants' : parseInt($("input[name='log_nb_e']").val())
},
};
$('div.well.c').each(function()
{
formData.projet.credits.push ({
'societe' : searchSociete($(this).find("input[name='nclcred']").val()),
'montant' : parseInt($(this).find("input[name='solde']").val()),
});
});
$.ajax({
type: $form.attr('method'),
url: $form.attr('action'),
data: formData,
dataType: 'json',
encode: true,
success: function (response)
{
$submiteBtn.button('reset');
if(response.statut == 'OK'){ $('.alert-success').show(); $('.alert-danger').hide(); }
else{$('.alert-danger').show(); $('.alert-success').hide();}
}
})
});
}); |