javascript - 使用react Flux架构通过AJAX发送数据

标签 javascript reactjs npm flux

Following is my react code:
var AddRecord = React.createClass({
               getInitialState: function() {
                        return {
                          Data: []
                        }
                    },

                sendData : function() {

               //AJAX Code
                },        

                fieldHandle : function(event){
                  var cellData = event.target.value;
                  console.log(cellData);
                     Data : cellData
                 }.bind(this),

                render: function() {
                  return (
                           <form onSubmit={this.sendData()} name="AddRecord" method="post">
                              <table><tr><td>Enter Id</td><td><input type="text" onChange={this.fieldHandle} name="name"/></td></tr>
                                <tr><td></td><td><input type="submit" name="submit" value="submit"/></td></tr>
                              </table>
                            </form>
                  );
            }
        });

        React.render(<AddRecord/>, document.getElementById('form-data'));

我想编写AJAX代码来将数据发送到process.php。我想,我应该为此使用 Flux 架构。所以请帮助我安装 Flux 并编写代码来发送数据。提前致谢。

最佳答案

您只需定义 sendData 方法,使其包含 AJAX 提交。

sendData: function() {
    var name = this.refs.nameField.value;
    $.ajax({
        method: 'POST',
        url: '/submit',
        data: {
            name: name
        }
    }).done(function () {
        // set state to indicate success
    }).fail(function () {
        // set state to indicate failure
    });
}

我将让您自行思考如何定义 donefail 回调。

当然,您不必使用 jQuery 来实现 AJAX。使用像 SuperAgent 这样的较小的库可能比较合适。

最后,请注意 this.refs.nameField.value 的使用。引用是 React 的一个功能。您只需使用 ref 属性定义您的输入即可。

<input ref="nameField" type="text" name="name" />

关于javascript - 使用react Flux架构通过AJAX发送数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34260298/

相关文章:

javascript - 单击 d3 树布局中的链接时访问子节​​点的数据

javascript - 我可以使用哪些方法来重新排列 javascript 函数的执行顺序?

css - Live SASS 编译器创建额外的文件?

javascript - 如何排除 npm 上的搜索词?

javascript - 如何修改表行内的克隆字段表单值和id?

javascript - 在 iOS 上为 javascript 复制/粘贴事件

javascript - 扩展运算符和 EsLint

javascript - 如何在 native react 中设置不可移动的 map 标记

javascript - 如何在一个 thunk 函数中处理多个调用?

javascript - 保存并填充 Node js