0
votes

Comment utiliser JQuery Ajax dans ReactJs

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'));


4 commentaires

Vous pouvez importer la bibliothèque de jQuery pour cela, mais vous pouvez utiliser extraire aussi


J'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


3 Réponses :


0
votes

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 });
        }
    })


3 commentaires

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 Ce sera la classe dans laquelle vous vous trouvez.


, merci. Vous avez raison. J'ai répondu à cette question



0
votes

Définir l'utilisation de cela.SetState ({nom: data.name}); xxx


5 commentaires

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!?



0
votes

Au début devrait localiser des fichiers PHP dans PHP Server et définir une en-tête quelque chose comme ceci: xxx pré>

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'
           });
        }
      })


0 commentaires