我们可以使用以下代码在我们的快速服务器和客户端网站(甚至跨域)之间交换字符串(完美运行):
应用程序.js:
var express = require("express");
var app = express();
var fs=require('fs');
var stringforfirefox = 'hi buddy!'
app.get('/getJSONPResponse', function(req, res) {
res.writeHead(200, {'Content-Type': 'application/javascript'});
res.end("__parseJSONPResponse(" + JSON.stringify( stringforfirefox) + ");");
});
app.listen(8001)
索引.html:
<!DOCTYPE html>
<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.js"></script>
<script>
function __parseJSONPResponse(data) { alert(data); }
document.onkeypress = function keypressed(e){
if (e.keyCode == 112) {
var script = document.createElement('script');
script.src = 'http://localhost:8001/getJSONPResponse';
document.body.appendChild(script); // triggers a GET request ??????
}
}
</script>
<title></title>
</head>
<body>
</body>
</html>
我们使用 document.createElement() 和 document.body.appendChild() 来触发 Get 请求,作为此处建议的最高投票答案。我们的问题:用每一个请求创建一个新元素是否可以,因为我们计划用这个提出很多请求。会不会导致任何问题。或者我们应该在收到响应后清除这样的元素吗?