Может кто-нибудь сказать мне, почему моя функция обратного вызова: не
$.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>
Вы проверили вкладку сети консоли, чтобы обеспечить ответ se для запроса «200 OK»? –
Не вызывается или не выполняется вызов (на сервер). – Liam
См. Политику Same-Origin – SLaks