小编Cla*_*kie的帖子

axios IE承诺不起作用

我正在使用axios进行ajax通信.我有IE的问题.关于Promise的IE返回错误.IE对Promise一无所知.

我正在编写react/redux,但我在普通的JS中尝试了axios,结果相同

有人可以帮我吗?我很困惑,因为axios应该在IE 8上工作我试过IE 11(windows 10 64bit)

我的试用版是在axios主页上的示例中编写的

谢谢

javascript promise axios

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

导航离开React中的组件时中止请求

我正在使用react,reduxreact-router.我的一个页面是发出API请求并显示数据.它工作正常.我想知道的是,如果API请求尚未完成,并且用户导航到另一个路由,我希望能够中止请求.

我假设我应该派出一些行动componentWillUnmount.只是无法理解它将如何运作.就像是...

componentWillUnmount() {
    this.props.dispatch(Actions.abortRequest());
}
Run Code Online (Sandbox Code Playgroud)

我会xhr在动作的某处存储引用.不确定这是否是正确的方法(我认为不是),有人能指出我正确的方向吗?

javascript reactjs react-router redux

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

mysqldbcompare失败,模式名称中带有" - "

以下命令失败

mysqldbcompare --server1=un:pw@server1 --server2=un:pw@server2 --difftype=sql store-staging:store-beta
Run Code Online (Sandbox Code Playgroud)

出现以下错误:

mysqldbcompare:错误:无法解析指定的数据库:'store-staging:store-beta'.请验证是否以有效格式指定了数据库(即db1 [:db2]),并在需要时正确使用了反引号.如果将非字母数字字符用于数据库名称,则需要使用反引号.解析指定的数据库会导致db1 ='store'和db2 ='store'.

我的问题是如何"逃避"模式,以便它们可以作为此命令的一部分运行?

我尝试了以下所有方法:

'store-staging:store-beta'
"store-staging:store-beta"
`store-staging:store-beta`

'store-staging':'store-beta'
"store-staging":"store-beta"
`store-staging`:`store-beta`
Run Code Online (Sandbox Code Playgroud)

他们都失败了.

mysql shell mysqldbcompare

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

Joi Schema 应该包含一个字段或另一个

我正在考虑使用 Joi 进行 api 验证。

我似乎无法确认我的架构是否正确,因为我希望需要电子邮件或手机(但它们都不能为空/不存在) - 以下是否正确?

var schemaForRegistration = Joi.object().keys({
      email: Joi.string().email(),
      mobile:Joi.number().integer()
}).without('email', 'mobile');
Run Code Online (Sandbox Code Playgroud)

谢谢

javascript joi

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

根据另一个更新一个字段

作为表单的一部分,我有一个用于选择项目的字段和一个客户点击的按钮,以便将项目添加到他们的单元列表中.我希望在单位文本字段中显示用户选择的单位列表.如何为按钮实现onclick功能,以便在将选项组件的当前选定值附加到文本框所显示的列表之前?我有一个单独的保存按钮,它将获取表单数据并在单击时将其发送到后端.

let EditUserForm = (props) => {
    const { handleSubmit, units } = props;
    return (
        <form onSubmit={handleSubmit}>

            <Field name="units" component="input" type="text" readOnly/> 

            <Field name="unit" component="select" >
            {
                units.map(u => <option value={u} key={u}>{u}</option>)
            }
            </Field>

            <button type="button" onClick={props.updateUserUnits}>Add unit</button>

        </form>
    );
};
Run Code Online (Sandbox Code Playgroud)

javascript reactjs redux-form

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

Elastic Beanstalk和ES6

我正在尝试在Elastic Beanstalk上部署我的节点服务器,但它不起作用,因为最新版本Elastic Beanstalk支持开箱即用0.12.6(2015年7月).使用io.js或最新的节点版本(4.1.2)都是可行的选择,但不清楚如何通过beanstalk运行ec2实例来执行此操作.

我尝试了很多东西,包括:

  1. 将4.1.2源添加到我的.ebextensions配置文件,然后更新引用,/tmp/deployment/config/#etc#init#nodejs.confconsole.log(process.argv)仍然是0.12.6.更重要的是,第二次运行此操作时,我得到一些text file busy错误,大概是因为它在节点仍在运行时尝试更改节点包的源...(请参阅https://forums.aws.amazon.com/thread.jspa ?threadID = 169385)
  2. 添加一个下载4.1.2源文件的文件并对其进行ungzips并更新引用,如https://github.com/kopurando/better-faster-elastic-beanstalk,但这似乎也没有用(版本仍为0.12. 6)

为什么只运行最新稳定版本的节点以及在AWS上被广泛支持4个月的东西是如此困难?

javascript amazon-elastic-beanstalk

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

我不能在Redux reducer中使用state.filter

所以我使用的是React-Redux,在我的reducer中我想从我的状态中删除一个主机名.所以从环顾四周我发现state.filter是实现这一目标的好方法.但是,这不起作用,我在控制台中不断收到错误.

index.js

import "babel-polyfill";
import React from 'react';
import ReactDOM from 'react-dom';
import {Provider} from 'react-redux';
import thunkMiddleware  from 'redux-thunk';
import createLogger from 'redux-logger'
import { HostnameAppContainer } from './components/HostnameApp';
import {createStore, applyMiddleware} from 'redux';
import hostnameApp from './reducer'
import {fetchHostnames} from './action_creators'

const loggerMiddleware = createLogger()

const store = createStore(
    hostnameApp,
    applyMiddleware(
        thunkMiddleware, // lets us dispatch() functions
        loggerMiddleware // neat middleware that logs actions
    )
)

store.dispatch(fetchHostnames())

ReactDOM.render(
    <Provider store={store}>
        <HostnameAppContainer />
    </Provider>,
document.getElementById('app')
)
;
Run Code Online (Sandbox Code Playgroud)

reducer.js

export …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs redux react-redux

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

DyanmoDB:没有得到我期望使用batch_get_item的答案

我正在尝试执行batch_get_item来从表中请求多个项目.我在DynamoDB文档中遵循PHP示例,但我没有得到我期望的结果.

以下是代码:

$batch_array = array ();
$batch_array[]= array ('HashKeyElement'  =>
 array( AmazonDynamoDB::TYPE_STRING => 'V1L3M5O5L1W8R5B6D2Q1S8V0B3R8M7A6R0X0'));

$options = array (
    'RequestItems' => array(
        'profile_dev' => array (
            'Keys' => $batch_array
            )
    )
);

$result = $this->db->batch_get_item($options);
Run Code Online (Sandbox Code Playgroud)

我得到了一个很长的响应,而不是获取数据,而是从尾端包含相关信息:

[x-aws-body] => {"RequestItems":{"profile_dev":{"Keys":[{"HashKeyElement":{"S":"V1L3M5O5L1W8R5B6D2Q1S8V0B3R8M7A6R0X0"}}]}}} ) [body] => CFSimpleXML Object ( [__type] => com.amazon.coral.validate#ValidationException [message] => One or more parameter values were invalid: The provided key size does not match with that of the schema ) [status] => 400 ) ) 
Run Code Online (Sandbox Code Playgroud)

该表的hashKey是一个字符串.它有一个rangeKey,但我使用的是hashKey,所以我可以获得与hashKey匹配的所有行.我错过了什么?

php amazon-dynamodb

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

在redux wordpress框架中创建一个新的自定义字段选项

我想使用自定义字段在redux wordpress框架中创建新字段,但我找不到任何使用它的帮助或示例.

我想创建一个带有开关和文本字段的字段.

任何建议都非常感谢.

wordpress wordpress-theming redux-framework

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

ReactJS与React路由器 - Chrome上的奇怪路由行为

这有点奇怪,我想深究它.

我有一个页面,用户输入他们的电子邮件地址并单击按钮,然后我显示"您已注册!" 消息 - 简单.

为此,我有两条路线.主要路线和"注册"路线.

  <Route name="app" path="/" handler={Main}>
    <Route name="signed-up" path="signed-up" handler={SignedUp} />
    <DefaultRoute handler={Signup} />
  </Route>
Run Code Online (Sandbox Code Playgroud)

在第一页上,当用户输入电子邮件地址并单击按钮时,我会激活POST AJAX以在我的后端数据库中保存电子邮件地址(使用Axios软件包),当它完成后,我将转到"已注册"路由.

  handleSubmit() {
    var router = this.context.router;
    var email  = this.refs.email.getDOMNode().value;
    this.refs.email.getDOMNode().value = '';

    helpers.postSignupEmail(email).then((response) => {
      // then display the signed up page
      router.transitionTo("signed-up");
    });
  }
Run Code Online (Sandbox Code Playgroud)

现在,当我第一次输入我的页面的URL时

http://localhost:1338
Run Code Online (Sandbox Code Playgroud)

浏览器(Chrome,FireFox,Safari)似乎都将URL更改为

http://localhost:1338/#/
Run Code Online (Sandbox Code Playgroud)

很公平.在FireFox中,我输入一封电子邮件,然后点击提交按钮,一切正常并带我去

http://localhost:1338/#/signed-up
Run Code Online (Sandbox Code Playgroud)

但是,现在在Chrome上,当我点击提交时,它不会更改路线.实际上,在开发者控制台上,我看到了一个错误.

在此输入图像描述

首先,为什么"帖子"请求被取消了?其次,当发生这种情况时,Chrome无响应.所以我刷新了页面,然后我得到了Chrome的"海军死亡屏幕".

在此输入图像描述

现在,有趣的是,如果我将初始URL更改为

http://localhost:1338/?#/
Run Code Online (Sandbox Code Playgroud)

(在哈希前插入问号),然后Chrome上的工作正常.所以,它让我想知道它与我的路径路径或参数有关.

有任何想法吗?

javascript reactjs axios

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

Material-UI + React:卡无法使用扩展器进行扩展

我有一个简单的卡组件,我从material-ui的网站上复制过来.

我正在尝试在我的代码中实现它.当我点击CardHeader时,它不会扩展.

这是我的组件:

import React, { Component } from 'react';
import getMuiTheme from 'material-ui/styles/getMuiTheme';
import MuiThemeProvider from 'material-ui/styles/MuiThemeProvider';

import {Card, CardActions, CardHeader, CardText} from 'material-ui/Card';
import FlatButton from 'material-ui/FlatButton';

const CardExample = () => (
    <MuiThemeProvider muiTheme={getMuiTheme()}>
        <Card expanded={true}>
            <CardHeader
              title="Without Avatar"
              subtitle="Subtitle"
              actAsExpander={true}
              showExpandableButton={true}
            />
            <CardText expandable={true}>
              Lorem ipsum dolor sit amet, consectetur adipiscing elit.
              Donec mattis pretium massa. Aliquam erat volutpat. Nulla facilisi.
              Donec vulputate interdum sollicitudin. Nunc lacinia auctor quam sed pellentesque.
              Aliquam dui mauris, mattis quis …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs webpack redux material-ui

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

一个路由,两个有效的有效负载在Hapi.js与Joi

我正在尝试在同一路由上验证两个不同的有效负载模式.两个有效选项是:

validate: {
  payload: {
    email: Joi.string().required(),
    password: Joi.string().required()
  }
}
Run Code Online (Sandbox Code Playgroud)

validate: {
  payload: {
    token: Joi.string().required()
  }
}
Run Code Online (Sandbox Code Playgroud)

我尝试使用andor函数的组合非常接近,但它允许所有三个作为有效负载传递:

validate: {
  payload: Joi.object().keys({
    email: Joi.string().required(),
    password: Joi.string().required(),
    token: Joi.string().required()
  }).and('email', 'password').or('token', 'email', 'password')
}
Run Code Online (Sandbox Code Playgroud)

javascript node.js hapijs joi

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

在 Blockcypher 上广播原始交易,POST 请求出错

我有一个原始比特币交易,我想用 Blockcypher API 广播,我使用 axios 发送 POST 请求:

var axios = require('axios')

axios.post('https://api.blockcypher.com/v1/bcy/test/txs/send', {
    "tx": "010000000174770a05466c28df24425ac50dba86ead47af31778f01fa1069bf01816810a2b010000008b48304502210090c86f59c8df34979ccb485c524803e9ba1290cc4448cdbfdcc8f3cf3337102302202357e77439354acf7b178392720f433cfeac952d34098addb2eea7edcf7884c20141048520397beff2fe111c7af8aa42c99b317453b1595ec5c3b3cf9eb2059dd06b9b956165419d51a48d885aacb4df1004d7c93b30e2e53c6d4f64f9668c9fd7e92fffffffff02cd0d0000000000001976a914243170728a9278ed24b4ac7ba9df33bdadf7afd488ac00000000000000004d6a4b77723335322d33316472342d4e42412d33323132322d333435352d363933352d323334392d323334302d31323333322d39392d30322d31362d323031352d32336f6c2d313030303030303000000000"
  })
  .then(function (response) {
    console.log(response);
  })
  .catch(function (response) {
    console.log(response);
  });
Run Code Online (Sandbox Code Playgroud)

在终端中运行时出现错误:

{ data: { error: 'Couldn\'t deserialize request: json: cannot unmarshal string into Go value of type pooch.JSONTx' }
Run Code Online (Sandbox Code Playgroud)

知道我的 POST 有什么问题吗?我试图用 tx 而不是“tx”发布,但它仍然不起作用。在文档上,他们建议这样做:

var pushtx = {
  tx: "01000000011935b41d12936df99d322ac8972b74ecff7b79408bbccaf1b2eb8015228beac8000000006b483045022100921fc36b911094280f07d8504a80fbab9b823a25f102e2bc69b14bcd369dfc7902200d07067d47f040e724b556e5bc3061af132d5a47bd96e901429d53c41e0f8cca012102152e2bb5b273561ece7bbe8b1df51a4c44f5ab0bc940c105045e2cc77e618044ffffffff0240420f00000000001976a9145fb1af31edd2aa5a2bbaa24f6043d6ec31f7e63288ac20da3c00000000001976a914efec6de6c253e657a9d5506a78ee48d89762fb3188ac00000000"
};

$.post('https://api.blockcypher.com/v1/bcy/test/txs/push', JSON.stringify(pushtx))
  .then(function(d) {console.log(d)});
Run Code Online (Sandbox Code Playgroud)

但是当我这样做时,我收到错误:

TypeError: undefined is not a function
Run Code Online (Sandbox Code Playgroud)

所以我认为使用 axios 更容易,因为我至少得到了 Blockcypher 的回复。任何帮助将非常感激!

javascript post json bitcoin axios

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