2017-07-14 4 views
0

Ich habe eine einfache node.js Server und Ajax Anfrage zum Senden bzw. Empfangen von Anfrage geschrieben. Trotz jeder Änderung seiner nicht working.this ist mein node.js Server-Code ...xmlhttprequest Status ist immer 0 und keine Antwort in AntwortText

var express=require('express'); 
var server=express(); 
server.get('/sampleResponse',function(req,res){ 
    if(req.method=="POST"){ 
     console.log('reache`enter code here`d post'); 
     res.status(200).send('connection successful'); 
    }else if(req.method=="GET"){ 
     console.log('reached get'); 
     res.status(200).send('connection successful'); 
    } 

}); 
server.listen('8001','127.0.0.1'); 

////// unten ist mein HTML-Seite ... läuft auf localhost: 8100

<html> 
    <head> 
     <link href="lib/ionic/css/ionic.css" rel="stylesheet"> 
     <link href="css/style.css" rel="stylesheet"> 
     <script> 
      function submitLoginDetails(){     
       var JSONLoginObj={rollNo:document.getElementById("rollNo").value, 
           password:document.getElementById("password").value}; 
       /////////////////////////////////////////////////////////////// 
       var xhttp = new XMLHttpRequest(); 
       xhttp.onreadystatechange = function(){ 
        var xhrdata = ""; 
        if(xhttp.readyState == 4){ 
         if(xhttp.status == 200) 
          alert(xhttp.responseText); 
         else 
          alert(xhttp.status); 
         } 
       }; 
       xhttp.open("GET", "http://localhost:8001/sampleResponse", false); 
       xhttp.send(); 
      } 
     </script> 
    </head> 
    <body> 
     <ion-pane> 
      <ion-header-bar class="bar-stable"> 
       <h1 class="title">Login Page</h1> 
      </ion-header-bar> 
      <ion-content> 
       <form> 
        Roll Number:<br><br> 
        <input type="text" id="rollNo"><br><br> 
        Password:<br><br> 
        <input type="text" id="password"><br><br> 
        <button id="loginButton" onclick="submitLoginDetails();">Login</button> 
       </form> 
       <p id="demo"></p> 
      </ion-content> 
     </ion-pane> 
    </body> 
</html> 

when access the same page by clicking on link i get response but no response in xhttp.responseText. 

Antwort

0

Dies ist ein Cross-Domain-Problem (CORS) was bedeutet, dass Sie versuchen, eine Anfrage (für eine Ressource) von außerhalb Ihrer aktuellen Domain zu machen. Sie müssen zulassen, dass die Access-Control-Allow-Origin alle Ihre Anfragen akzeptiert.

Sie können dies tun, indem die folgenden Zeilen zu Ihrer Js-Datei (wo Sie Ihre Express.js Code haben)

response.writeHead(200, { 
    'Content-Type': 'text/plain', 
    'Access-Control-Allow-Origin' : '*' 
}); 
+0

Dank viel david ...... Sie wissen nicht, wie es ist sehr wertvoll für mich. Ich hatte Stunden damit verbracht, es zum Laufen zu bringen. –

+0

können Sie bitte geben Sie die Links zu guten Tutorials auf node.js und Web-Entwicklung (keine HTML-Tutorials) ...... Vielen Dank im Voraus –

+0

@VineetJain Checkout die hier aufgeführten Ressourcen => https://github.com/ vioan/nodejs-Lernressourcen –

Verwandte Themen