在我的应用程序中,我需要在计算机上保存来自 API 响应的 CSV 文件。发送 POST 请求的函数是(我使用的是 Redux):
export const postCsv = sensorData => (dispatch, getState) => {
const token = getState().auth.token;
// Headers
const config = {
headers: {
'Content-Type': "application/json"
}
}
// If token exists, add to headers config
if (token) {
config.headers['Authorization'] = `Token ${token}`
}
// Post request to API
axios.post(`${baseURL}/sensors_data/csv`, sensorData, config)
.then(res => {
console.log(res);
if (res.status === 200) {
dispatch({
type: POST_CSV,
payload: res.data
})
}
})
.catch(err => {
console.log(err.response);
}) …
Run Code Online (Sandbox Code Playgroud) 如标题所示 - 当我在 React/Redux 应用程序中重新加载页面时,用户正在注销。我将令牌存储在 localStorage 中,但它不起作用,因此可能有任何错误。用户登录时应存储令牌。注销工作正常。这是我的代码:
auth.js(reducers 目录 - Redux):
import { LOGIN_SUCCESS, LOGIN_FAIL, LOGOUT_SUCCESS, REGISTER_SUCCESS, REGISTER_FAIL } from '../actions/types';
const initialState = {
token: localStorage.getItem('token'),
isAuthenticated: null,
isLoading: false,
isRegistered: false
}
export default function(state = initialState, action) {
switch(action.type) {
case REGISTER_SUCCESS:
return {
...state,
...action.payload,
token: null,
isAuthenticated: false,
isLoading: false,
isRegistered: true
}
case LOGIN_SUCCESS:
localStorage.setItem('token', action.payload.token);
return {
...state,
...action.payload,
isAuthenticated: true,
isLoading: false,
}
case LOGIN_FAIL:
case LOGOUT_SUCCESS:
case REGISTER_FAIL:
localStorage.removeItem('token');
return { …
Run Code Online (Sandbox Code Playgroud) 我需要检查给定的字符串是否代表 5 位或 6 位数字,然后打印“是”,否则打印“否”。该数字不应包含前导零,例如:
012345 ----- // 没有
0123456 ---- // 没有
12345 ----- //是的
我正在使用 Python3。现在我知道我的正则表达式应该是这样的:
re.search('\d{5,6}')
Run Code Online (Sandbox Code Playgroud)
但它只适用于开头没有 0 的数字。你知道如何解决这个问题吗?