2015-11-19 2 views
0

Может кто-нибудь сказать мне, почему моя функция обратного вызова: не

$.get("http://localhost:8080/", msg, function(data) { 
         alert("Data" + data); 
        }); 

не называют?

Сервер получает запрос и печатает на консоль, но мой клиент (страница HTML ниже) никогда не получает ответа.

Вот сервер Экспресс:

var express = require('express'); 
var app = express(); 

app.get('/', function(req, res) { 
    console.log("Message! : GET"); 
    res.send('Hello World'); 
}); 

app.post('/', function(req, res) { 
    console.log("Message! : POST"); 
    res.send('Hello World'); 
}); 

var server = app.listen(8080, function() { 
    var host = server.address().address; 
    var port = server.address().port; 
    console.log('Listening at http://%s:%s', host, port); 
}); 

А вот запрос на HTML страницу решений на сервере:

<!DOCTYPE html> 
<html> 
    <head> 
     <meta charset="utf-8" /> 
     <title>Client</title> 
     <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> 
    </head> 
    <body> 
     <h1>Client</h1> 

     <form action=""> 
      <fieldset> 
       Name:<br><br> 
       <input type="text" id="name" name="name"> 
       <br><br> 
       Message:<br><br> 
       <input type="text" id="message" name="message"> 
       <br><br> 
       <input type="submit" id="submit" value"Submit"> 
      </fieldset> 
     </form> 
     <br><br> 

     <textarea style="max-height:400px; min-height:400px; max-width:300; min-width:300px; resize: none"></textarea> 

     </textarea> 

    <script type="text/javascript"> 
     document.getElementById("submit").addEventListener("click", function(e) { 
      var msg = { 
         Name: document.getElementById("name").value, 
         Message: document.getElementById("message").value 
        }; 


        $.get("http://localhost:8080/", msg, function(data) { 
         alert("Data" + data); 
        }); 

     }, false); 
    </script> 

    </body> 
</html> 
+3

Вы проверили вкладку сети консоли, чтобы обеспечить ответ se для запроса «200 OK»? –

+0

Не вызывается или не выполняется вызов (на сервер). – Liam

+0

См. Политику Same-Origin – SLaks

ответ

0

Попробуйте использовать код, приведенный ниже, чтобы увидеть, что сообщение об ошибке вы получите (Отправлено как ответ на необходимость использования кода)

$.ajax({ 
     url: 'http://localhost:8080/', 
     type: 'GET', 
     success: function(data){ 

     }, 
     error: function(xhr, status, error) { 
      var err = eval("(" + xhr.responseText + ")"); 
      alert(err.Message); 
     } 
    }); 
+0

Теперь я не получаю ответа: S – Shuzheng

+0

Итак, попробуйте 'alert (« toto »)' в 'функции успеха'. Он должен пройти через один из них –

Смежные вопросы