<span style="font-family: Arial, Helvetica, sans-serif;"><!DOCTYPE html></span>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
</body>
<script>
var xhr = new XMLHttpRequest();
// xhr.onreadystatechange = function() {
xhr.onload = function() {
// if (xhr.readyState == 4) {
if ((xhr.status >= 200 && xhr.status < 300) || xhr.status == 304) {
alert(xhr.responseText);
} else {
alert(xhr.status)
}
// }
}
xhr.open("get", "http://127.0.0.1:3000/cors", true);
xhr.send(null);
function ok(data) {
alert(data)
}
var script = document.createElement("script");
var url = "http://127.0.0.1:3000?cb=ok";
script.setAttribute("src", url);
document.querySelector("head").appendChild(script)
</script>
</html>
以上是前端的实现,后台用nodejs
var http = require("http");
var url=require("url");
var querystring=require("querystring");
http.createServer(function(req, res) {
res.writeHead(200,{"Content-Type":"text/javascript","Access-Control-Allow-Origin":"http://127.0.0.1:8020"});
if(url.parse(req.url).pathname=="/cors"){
res.end("cors")
}else{
res.write(querystring.parse(url.parse(req.url).query)["cb"]+"('jsonp')")
res.end()
}
}).listen(3000);