我们可以使用此代码在我们的快速服务器和客户端网站(甚至是跨域)之间交换字符串(完美运行):
app.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)
的index.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请求,作为建议的最高投票回答here。 我们的问题:用evey请求创建一个新的元素是没关系的,因为我们计划用这个来提出很多请求。这可能导致任何问题。或者我们收到回复后应该清除这样的元素吗?