Javascript

使用jsonp实现跨源请求

本文主要是介绍使用jsonp实现跨源请求,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

jsonp

  • 该技术用来实现跨源请求,即向协议、域名、端口号不同的服务器发送请求
  • 通过使用 script 标签的 src 向服务器发送GET请求http://xxx/xxx?callback=callbackFunction
  • 服务器返回的是一串 javascript 并且会立刻在客户端执行callbackFunction(data)

例子:

// 客户端
function usejsonp() {
    const script = document.createElement("script");
    script.src = "http://127.0.0.1:8000/test?callback=jsonp";
    script.addEventListener("error", () => {
        console.log("error");
    });
    document.body.appendChild(script);
}

function jsonp(data) {
    console.log(data);
}
// 服务器端
app.get("/test", (req, res) => {
    const params = new URL(req.url);
    const data = JSON.stringify({ state: "succeess" });
    const reqdata = `${params.query.callback}(${data})`;
    res.writeHead(200, { "Content-Type": "text/javascript" });
    res.end(reqdata);
});
这篇关于使用jsonp实现跨源请求的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!