if (la condition échoue en jascript)

J’ai le code suivant qui fonctionne dans localhost dans Windows. Mais sur le serveur, le même code échoue.

C’est la condition if qui n’est pas en cours d’exécution même si data==found; J’ai vérifié la valeur de données retournée qui est found mais je ne peux pas comprendre pourquoi le code ne s’exécute pas correctement

 function checkAvailability() { $("#loaderIcon").show(); jQuery.ajax({ url: "ajaxcheck.php", data:'tran_id='+$("#tran_id").val(), type: "POST", success:function(data){ console.log(data); //var x=data; $("#loaderIcon").hide(); //console.log((data=="found")); if(data=="found") { $("#singlebutton").prop('disabled', false); console.log("fail"); $("#tran_id-status").html("Found"); } else { console.log(data); $("#singlebutton").prop('disabled', true); $("#tran_id-status").html(""); console.log("ss"); } }, error:function (){} }); } 

Voici ajaxcheck.php

 0) { // echo " Transaction Details Found."; echo"found"; }else{ //echo " (Enter Valid transaction id to submit)"; echo"notfound"; } } ?> 

Le problème est que votre variable de data revient avec un nouveau caractère de ligne. Il existe deux solutions à cela: 1. Réduisez la valeur renvoyée. 2. comprendre pourquoi le php sert une nouvelle ligne.

Solution 1:

 if(data.sortingm()=="found") 

Ceci utilise la fonction JS sortingm, https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Ssortingng/Trim .

Solution 2:

Essayez de supprimer le ?> la fin de votre fichier PHP (le fichier PHP sera toujours valide). De cette façon, s’il y a des lignes supplémentaires après elles, elles ne seront pas servies en sortie et le JS ne les recevra pas.

Du manuel:

Si un fichier est du code PHP pur, il est préférable d’omettre la balise de fermeture PHP à la fin du fichier. Cela empêche les espaces ou les nouvelles lignes accidentels d’être ajoutés après la balise de fermeture PHP, ce qui peut entraîner des effets indésirables, car PHP commence la mise en tampon de la sortie lorsque le programmeur n’a pas l’intention d’envoyer une sortie à ce stade du script.