小编Dan*_*ank的帖子

Axios 是否有能力检测重定向?

Fetch APIResponse 接口有一个只读标志, redirected,指示响应是否是重定向请求的结果。

是否爱可信库也有类似的功能?我能找到的最好的方法是maxRedirects设置要遵循的最大重定向数。但是,我只是想确定它是否发生(因此我可以专门处理重定向),而不是阻止它发生。

javascript response.redirect fetch axios

10
推荐指数
2
解决办法
3万
查看次数

Tealium 标签与 React Js 集成

我正在尝试将 Tealium 标签与我们基于 React.js 的项目集成;但是,我没有找到任何有关此事的文档?如果有人能为我提供一些文档或示例来说明如何做到这一点,我将不胜感激?

reactjs tealium

6
推荐指数
1
解决办法
2708
查看次数

模式:“no-cors”与 fetch 配合使用,但对于 axios 失败

与 fetch 相比,我更喜欢 axios,因为它简单易用。我正在运行一个本地开发服务器,它将 AJAX 请求发送到某个远程端点。由于同源策略,请求被阻止。所以我修改了我的 webpack 配置,如下所示:

devServer: {
  headers: {
    'Access-Control-Allow-Origin': '*',
  },
},
Run Code Online (Sandbox Code Playgroud)

现在,如果我使用 fetch 发出 API 请求,我添加"mode": "no-cors"允许跨源请求,一切正常。但是,这不适用于 axios。

fetch 基于Request API,允许指定模式:“no-cors”,而 axios 基于 XHR,不支持指定模式。chrome.exe --user-data-dir="C:/Chrome dev session" --disable-web-security我可以通过运行where is 我的文件系统的某些路径来打开不安全的 chrome 窗口来解决此问题--user-data-dir。但是,不安全的 chrome 实例不允许运行扩展,因此我无法使用 React 和 Redux DevTools。这是使用 fetch 和 axios 发出请求的片段。当 axios 失败时 fetch 调用有效:

componentDidMount() {
  fetch(someAPIEndpoint, {
    mode: 'no-cors',
  })
  .then(response => console.log(response))
  .catch(error => console.error(error))

  axios
  .get(someAPIEndpoint, {
      mode: 'no-cors',
  })
  .then(results => …
Run Code Online (Sandbox Code Playgroud)

javascript ajax cors reactjs axios

6
推荐指数
0
解决办法
2万
查看次数

res.clearCookie 函数不会删除 cookie

我正在为我的 express(带有打字稿)应用程序创建一个授权系统,我使用 JWT 并将它们保存到 cookie 中以保持用户登录。我的注销部分有问题, res.clearCookie() 不会删除 cookie。

我在索引文件中使用了 cookie-parser,并尝试使用空值或现在的到期日期重置 cookie,但它对我不起作用。正如我上面所说, res.clearCookie("jwt") 也不起作用。所有依赖项都是最新的。

登录和登录验证工作正常,我可以正确设置和读取 [和解码] JWT。

登录代码的主要部分

res.cookie("jwt", token, {
   httpOnly: true,
   expires: new Date(
       Date.now() + 1000 * 86400 * stayLoggedInDays
   )
}).send("Message: Login successful");
Run Code Online (Sandbox Code Playgroud)

登出代码

router.post(
  "/logout",
  (req, res, next) => {
    res.clearCookie("jwt");
    next();
  },
  (req, res) => {
    console.log(req.cookies);
    res.end("finish");  
  }
);
Run Code Online (Sandbox Code Playgroud)

注销后,我仍然可以看到用户个人资料,但是如果我从邮递员那里手动删除 cookie,个人资料页面将不会显示任何信息,所以我的结论是 express 无法清除 cookie。

javascript cookies node.js express typescript

5
推荐指数
1
解决办法
2669
查看次数

我可以使用 PropTypes 来表示一个 prop 是一个 Promise 吗?

PropTypes 有助于调试,因为它们会在未满足预期时显示警告。除此之外,他们也很好地表达了如何使用组件的意图。

如果我有一个组件接受一个 prop 的值可以是一个 promise,有什么方法可以使用 PropTypes 来表达它吗?我正在想象一些直接的东西PropTypes.promise,或者使用构建块 PropTypes 来表达“thenable”概念的某种方式。

这是一个高度简化的示例,用于展示我的预期用例:

class SomeComponent extends Component {
  static propTypes = {
    someDataPromise: PropTypes.object // <-- can I be more expressive here?
  }

  state = {
    isLoading: false
  }

  async handleSubmit() {
    this.setState({ isLoading: true });

    const data = await this.props.someDataPromise;
    const response = await fetch(`/some/api/endpoint?data=${data}`);
    // do something with the response

    this.setState({ isLoading: false });
  }

  render() { /* ... */ }
}
Run Code Online (Sandbox Code Playgroud)

javascript reactjs react-proptypes

5
推荐指数
2
解决办法
2207
查看次数

输入不受控制的React Hooks

我已经通过一个简单的教程开始讲解React-hooks,但令我惊讶的是我遇到了一个我无法弄清楚的错误:

警告:组件正在更改要控制的文本类型的不受控制的输入。输入元素不应从不受控制切换为受控制(反之亦然)。确定在组件的使用寿命期间使用受控或不受控制的输入元素。

发生此错误后,我的组件消失了,但我仍然可以输入将在控制台中正确打印出的数据。

我尝试设置输入的初始状态并更改

setInputs(inputs => ({
  ...inputs, [event.target.name]: event.target.value
}));
Run Code Online (Sandbox Code Playgroud)

setInputs({...inputs, [event.target.name]: event.target.value});
Run Code Online (Sandbox Code Playgroud)

但我仍然出错。

JSX

import React from 'react';
import './styles/form.scss';
import useSignUpForm from './hooks/customHooks.jsx';

const Form = () => {

    const {inputs, handleInputChange, handleSubmit} = useSignUpForm();

    return (
        <React.Fragment>
            <div className="formWrapper">
                <h1 className="header">Form</h1>
                <form onSubmit={handleSubmit}>
                    <div className="form-group">
                        <label htmlFor="nicknameInput">Nickname</label>
                        <input type="text" id="nicknameInput" name="nickname" onChange={handleInputChange}
                               value={inputs.nickname} required/>

                        <label htmlFor="emailInput">Email Address</label>
                        <input type="text" id="emailInput" name="email" onChange={handleInputChange}
                               value={inputs.email} required/>

                        <label htmlFor="lastName">Last Name</label>
                        <input type="text" id="lastName" name="lastName" onChange={handleInputChange}
                               value={inputs.lastName} …
Run Code Online (Sandbox Code Playgroud)

html javascript reactjs react-hooks

4
推荐指数
1
解决办法
1106
查看次数

如何根据屏幕分辨率javafx动态设置fxml中的首选宽度和高度

我是javafx的新手.是否可以根据屏幕分辨率在fxml文件中动态设置首选宽度和高度?我知道如何获得屏幕分辨率并将其设置为阶段:

Screen screen = Screen.getPrimary(); 
Rectangle2D bounds = screen.getVisualBounds();
stage.setWidth(bounds.getWidth());
stage.setHeight(bounds.getHeight());
Run Code Online (Sandbox Code Playgroud)

我的问题是关于在fxml文件中动态设置prefWidth和prefHeight.另外我想知道我是否可以以编程方式更改fxml文件中的属性值,我正在使用场景构建器.

javafx fxml

1
推荐指数
1
解决办法
7550
查看次数

为什么我的jQueryMobile CSS样式应用于链接页面?

我在我的网站的主要部分使用jQuery CSS样式.它工作正常.现在,我还有一个我的网站的子目录,不应该使用该样式.当我手动将浏览器导航到网站的子目录时,不会应用任何样式,这就是我想要的.但是,当我从主区域单击指向子目录的链接时,它正在应用主要部分的CSS样式,即使我没有在该子目录的HTML中的任何位置引用此CSS.如果我刷新浏览器,样式就会消失.

有人可以帮我理解这里发生了什么吗?谢谢.

html css jquery-mobile

0
推荐指数
1
解决办法
88
查看次数