我该如何选择制作ajax请求的方法?

时间:2018-05-26 18:57:16

标签: javascript jquery ajax passport.js

似乎有很多选择,我没有时间深入了解所有这些选择。

我开始使用

$.ajax({...})

但是现在我使用React这是我的应用程序中唯一使用jQuery的地方。我基本上是将整个库发送到客户端进行这一次调用。

然后我考虑使用

window.fetch

但是这不可行,因为 passport 不会对此请求进行身份验证。我喜欢它,因为它是原生JavaScript。我不明白为什么它没有通过我的服务器上运行的护照代码进行身份验证,例如 jQuery ajax调用。

我还以另一种方式简要地查看了这个库。

github - request

看起来做出经过身份验证的ajax请求可能会有点过分。

我可以只使用本机ajax请求吗?这会被认证吗?

这将是第四种方式 - Native Ajax Request - MDN

我通常采用本机/极简主义解决方案,即使这意味着必须编写更多代码。

1 个答案:

答案 0 :(得分:0)

Passport需要使用Cookie确认会话,但默认情况下Fetch API不会发送Cookie,我认为您应该在请求中添加credentials标记,如下所示:

const options = {
   credentials: 'include'
};
fetch(url, options).then(...);

在此处详细了解:MDN