Je veux utiliser JQuery Ajax dans ReactJS. Mais il est de retour ne peut pas poster insert.php. et une autre question est de savoir comment puis-je accéder à cet objet.State et ceci.Setsate sur le succès?
class Name extends React.Component{
constructor(){
super();
this.state={name:''}
}
btnClick=()=>{
$.ajax({
url:'insert.php',
type:'POST',
dataType:'json',
data: JSON.stringify({me:'Hamid'}),
success:function (data,status ,xhr) {
alert(data.name)
}
})
}
render() {
return(
<div><span>{this.state.name}</span>
<button type='button' onClick={this.btnClick}>show</button>
</div>
)
}
}
ReactDOM.render(<Name/>,document.getElementById('root1'));
3 Réponses :
Si vous avez importé JQuery correctement, il devrait être identique à tout appel HTTP ASYNC dans React:
btnClick=()=>{
$.ajax({
url:'insert.php',
type:'POST',
dataType:'json',
data: JSON.stringify({me:'Hamid'}),
success: (data,status ,xhr) => {
this.setState({ name: data.name });
}
})
Je pense que ce mot clé de la fonction Ajax ne se réfère pas au composant, nous ne pouvons pas accéder à ceci.SetState @Davin Tryon
@Hamid Si vous utilisez la fonction de flèche, le contexte code> Ce code> sera la classe dans laquelle vous vous trouvez.
, merci. Vous avez raison. J'ai répondu à cette question
Définir l'utilisation de cela.SetState ({nom: data.name});
La réponse est la suivante: impossible de poster /insersert.php
@Hamid Vous devez vérifier le répertoire / chemin d'insertion.php
Je pense que ce mot clé de la fonction Ajax ne se réfère pas au composant, nous ne pouvons pas accéder à cela.SetState.
@Hamid s'il vous plaît vérifier Stackoverflow.com/Questtions/39607170/...
Je pense qu'il ne peut pas trouver fichier inser.php!?
Au début devrait localiser des fichiers PHP dans PHP Server et définir une en-tête quelque chose comme ceci: puis pour avoir accès à "Ceci" dans les propriétés de succès ou d'erreur que leurs valeurs sont Fonctions Nous devrions lier "ceci" à ces fonctions ou utiliser des fonctions de flèche comme des valeurs de succès et d'erreur. p> lidez "ceci" aux fonctions: p> $.ajax({
url:"http://localhost/react/api/insert.php",
type:'post',
dataType:'json',
data: JSON.stringify({me:'Hamid'}),
success:(data, status,xhr) =>{
this.setState({
username:data.name
});
error:(XMLHttpRequest, textStatus, errorThrown)=> {
this.setState({
username:'error'
});
}
})
Vous pouvez importer la bibliothèque de jQuery pour cela, mais vous pouvez utiliser
extraire code> aussiJ'ai importé JQuery Bibliothèque.
Pourquoi voudriez-vous utiliser JQuery Ajax dans React.js, rechercher de meilleurs moyens plutôt avec une première solution
parce que je suis plus familier avec JQuery que les autres API