Je suis nouveau dans fetch et react.js et, fondamentalement, dans javascript, j'essaye de créer une nouvelle ligne dans une table et je récupère juste une ID (ensuite), le problème est que temp alors domaine est en train de changer, mais sa ne change pas en dehors d'elle, bien que je l'ai définie comme variable de niveau de fonctionMise à jour de la variable de niveau fonction dans une requête d'extraction
handleAddRow({ newRowIndex }) {
var temp = null;
/////////////////////////////////////// updating records in db
fetch(`${config.serverUrl}/criteriaAPI`,
{
method: "POST",
dataType: 'json',
headers: {
'Accept': 'application/json; charset=UTF-8',
'Content-Type': 'application/json; charset=UTF-8'
}
})
.then(function(res){ return res.json(); })
.then(function(data){ temp = data._id ;alert(temp)})
//////////////////////////////////////
console.log(temp);
const newRow = {
_id: temp,
criteria_id: '',
securityCriteria: '',
description: '',
};
let rows = this.state.rows.slice();
rows = update(rows, {$push: [newRow]});
},
console.log(temp) = > null
alert(temp) = > id key : id value
Vous avez besoin pour supprimer "Access-Control-Allow-Origin": '*', "Access-Control-Allow-Credentials": true' de la partie 'headers' de votre appel de récupération. Ce sont des en-têtes de réponse, donc si vous les avez ajoutés à la demande parce que vous obtenez une erreur CORS, cela ne résoudra pas le problème. Si vous obtenez une erreur CORS, vous devez utiliser https://stackoverflow.com/posts/45325697/edit pour modifier/mettre à jour votre réponse afin d'inclure le message d'erreur exact que vous voyez dans la console devtools de votre navigateur. – sideshowbarker
Vrai j'ai enlevé les deux lignes rien n'a changé par rapport à l'erreur CORS que j'ai utilisé pour l'obtenir du serveur node.js et c'était une erreur de les ajouter dans la demande de réaction de react.js je suppose que le commentaire posté est le problème – Ayman