欢迎大家来到IT世界,在知识的湖畔探索吧!
对于前端同学来说,ajax 请求应该不会陌生。jquery 真的ajax请求做了封装,可以通过下面的方式发送一个请求并获取相应结果:
$.ajax({
url: "https://echo.apipost.cn/get.php",
data: formData,
type: "POST",
processData: false,
contentType: false,
success: function (data, status, xhr) {
console.log(data, status, xhr)
},
error: function (xhr, status, error) {
console.log(xhr, status, error)
},
complete: function (xhr, status) {
console.log(xhr, status)
}
})
欢迎大家来到IT世界,在知识的湖畔探索吧!
但是,在 node 环境中,就需要一些其他库实现接口发送,例如GOT、request 等。当然,也可以通过在node 中安装 jquery 来使用上面 $.ajax 的方法,但是会有一个很要命的问题:跨域。
何为跨域?
当一个请求url的协议、域名、端口三者之间任意一个与当前页面url不同即为跨域。也就是违反了“同源策略”:
同源策略是一个重要的安全策略,它用于限制一个origin的文档或它加载的脚本如何能与另一个源的资源进行交互。能够减少恶意文档,减少可能被攻击媒介。 如果两个URL的协议、域名、端口号都相同,就称这两个URL同源。
浏览器默认两个不同的源之间是可以互相访问资源和操作DOM的。两个不同的源之间若是想要访问资源或者操作DOM,那么会有一套基础的安全策略的制约,我们把这称为同源策略。它的存在可以保护用户隐私信息,防止身份伪造。
使用 ajax-for-node 实现 $.ajax
ajax-for-node (https://github.com/Apipost-Team/nodeajax)是一个在 node 环境下实现 .ajax的库,它的所有参数格式和.ajax 的库,它的所有参数格式和 .ajax的库,它的所有参数格式和.ajax 完全一致。
欢迎大家来到IT世界,在知识的湖畔探索吧!const nodeAjax = require('ajax-for-node');
var formData = new FormData();
formData.append("username", "Groucho");
formData.append("accountnum", 123456);
nodeAjax({
url: "https://echo.apipost.cn/get.php",
data: formData,
type: "POST",
processData: false,
contentType: false,
success: function (data, status, xhr) {
console.log(data, status, xhr)
},
error: function (xhr, status, error) {
console.log(xhr, status, error)
},
complete: function (xhr, status) {
console.log(xhr, status)
}
});
npm 搜 ajax-for-node
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/32108.html