我正在为axios改变jquery ajax而我没有使用跨域的axios:
axios.get(myurl, {
headers: { 'crossDomain': true },
}).then(res => {
console.log(res);
}).catch(error => {
console.log('erro', error);
})
Run Code Online (Sandbox Code Playgroud)
我的jquery代码正在运行:
$.ajax({
type: 'GET',
crossDomain: true,
url:myurl,
success: (res) => {},
error: (fail) => {}
})
Run Code Online (Sandbox Code Playgroud)
错误:预检响应中的Access-Control-Allow-Headers不允许使用请求标头字段crossDomain.
谁能帮我?
我正在尝试在 redux 上测试我的异步操作,但我没有得到它。
我正在使用 nock 和 axios,因此我尝试从 axios get 接收响应数据来测试我的操作:
describe('Async Actions', () => {
afterEach(() => {
nock.cleanAll();
});
it('should load transmissors', (done) => {
const localStorage = {
token: 'a9sd8f9asdfiasdf'
};
nock('https://tenant.contactto.care')
.get('/api/clients/1/transmissors/', {
reqheaders: { 'Authorization': "Token " + localStorage.token }
})
.reply(200, { data: [
{
"id": 12,
"zone": "013",
"client": 1,
"description": "pingente",
"identifier": "",
"general_info": ""
},
{
"id": 15,
"zone": "034",
"client": 1,
"description": "colar",
"identifier": "",
"general_info": ""
}
]});
axios.get(`/api/clients/1/transmissors/`, { …Run Code Online (Sandbox Code Playgroud) 我正在关注这个graphql教程,一切顺利,直到我尝试使用数据加载器。
我的 server.js 是:
const start = async () => {
const mongo = await connectMongo();
const buildOptions = async req => {
const user = await authenticate(req, mongo.Users);
return {
context: {
dataloaders: buildDataloaders(mongo),
mongo,
user
},
schema
};
};
app.use('/graphql', bodyParser.json(), graphqlExpress(buildOptions));
app.use(
'/graphiql',
graphiqlExpress({
endpointURL: '/graphql',
passHeader: `'Authorization': 'bearer token-name@email.com'`
})
);
app.use('/', expressStaticGzip('dist'));
app.use('/attendance', expressStaticGzip('dist'));
app.use('/login', expressStaticGzip('dist'));
spdy.createServer(sslOptions, app).listen(process.env.PORT || 8080, error => {
if (error) {
console.error(error);
return process.exit(1);
} else {
console.info( …Run Code Online (Sandbox Code Playgroud) 我在我的应用程序中使用 React、Redux 和 Service Worker,我想在我的 Service Worker 中访问 Redux 存储。
我的服务人员是:
function checkCompatibility() {
if ('serviceWorker' in navigator && 'PushManager' in window) {
console.log('Service Worker and Push is supported');
navigator.serviceWorker.register('./sw.js')
.then(function (swReg) {
console.log('Service Worker is registered', swReg);
})
.catch(function (error) {
console.error('Service Worker Error', error);
});
} else {
console.warn('Push messaging is not supported');
}
}
function askForNotification() {
if (!('Notification' in window)) {
console.log('This browser does not support desktop notification');
} else if (Notification.permission === 'granted') {
console.log('Permission …Run Code Online (Sandbox Code Playgroud) 我尝试将用户重定向到"TrapPage",如果他没有登录.
这是我的代码:
function requireAuth(nextState, replace) {
if (!auth.loggedIn()) {
replace({
pathname:'/trap'
})
}
}
export default (
<Route path="/" component={App} onEnter={requireAuth}>
<IndexRoute component={DashboardPage} />
<Route path="trap">
<IndexRoute component={TrapPage}/>
</Route>
<Route path="accounts">
<IndexRoute component={AccountPage}/>
<Route path="add" component={AccountAdd} />
<Route path="detail/:id" component={AccountDetail} />
</Route>
<Route path="contacts">
<Route path="detail/:id" component={ContactPage}/>
</Route>
<Route path="transmissors">
<Route path="detail/:id" component={TransmissorPage}/>
</Route>
<Route path="attends" component={AttendancePage} />
<Route path="reports" component={ReportPage} />
<Route path="configs" component={ConfigurationPage} />
</Route>
);
Run Code Online (Sandbox Code Playgroud)
当我将函数requireAuth放在onEnter时,控制台给出了一个错误:
Uncaught RangeError: Maximum call stack size exceeded
Run Code Online (Sandbox Code Playgroud)
我是React的先生,请耐心等待:)
我的代码出了什么问题?
我正在将我的 airbnb eslint 规则迁移到更漂亮的规则,但我遇到了一些问题。
这是我的 .eslintrc:
{
"parserOptions": {
"ecmaVersion": 6
},
"env": {
"browser": true,
"node": true
},
parser: "babel-eslint",
"plugins": ["prettier", "react"],
"rules": {
"prettier/prettier": [
"error",
{
"singleQuote": true,
"semi": true
}
]
},
"extends": ["eslint:recommended", "prettier", "prettier/react"]
}
Run Code Online (Sandbox Code Playgroud)
通过此设置,我在 App.jsx 文件中遇到了这些错误:
'React' 已定义但从未使用过。(没有未使用的变量)
'Header' 已定义但从未使用。(没有未使用的变量)
import React from 'react';
import style from './App.scss';
import Header from '../header/Header';
const App = () =>
<div className={style.wrapper}>
<Header />
</div>;
export default App;
Run Code Online (Sandbox Code Playgroud) 我的反应组件有这个代码:
componentDidMount() {
this.setState({
audioContainer: document.getElementById('audio'),
});
}
Run Code Online (Sandbox Code Playgroud)
在需要时我会运行一些动作:
this.state.audioContainer.start()
Run Code Online (Sandbox Code Playgroud)
我认为这不是最好的选择.
按照上面的解决方案我做了这个:
从'react'导入React; 从'prop-types'导入PropTypes;
class AudioControl extends React.Component {
componentDidMount() {
if (this.props.start) {
this.start();
}
}
componentWillReceiveProps({ start }) {
if (start !== this.props.start && start === true) {
this.start();
}
}
start() {
this._audio.start();
}
render() {
return (
<audio ref={a => this._audio = a}>
<source src="url" type="audio/mp3" />
</audio>
);
}
}
AudioControl.defaultProps = {
start: false,
};
AudioControl.propTypes = {
start: PropTypes.bool,
};
export default AudioControl; …Run Code Online (Sandbox Code Playgroud) reactjs ×6
axios ×2
redux ×2
ajax ×1
cors ×1
django ×1
eslint ×1
graphql ×1
javascript ×1
nock ×1
node.js ×1
prettier ×1
react-router ×1
redux-thunk ×1