最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

将数组从反应状态发送到节点表达式

IT培训 admin 14浏览 0评论

将数组从反应状态发送到节点/表达式

我一直在寻找如何从我的反应前端发送一个数组到我的节点/表达后端。我的第一种方法是这样。反应:

saveUpdates = (clickEvent) => {
    var list = [];
    var length = this.props.title.length;
    var tally = 0;
    for (var i = 0; i < length; i++) {
        tally = tally + 1;
        var x = document.getElementById(tally).selectedIndex
        var y = document.getElementById(tally).options
        list.push(y[x].text)
    }

 const myHeaders = new Headers();
    myHeaders.append('Authorization', localStorage.getItem('token'));
    const newQuantity = new FormData();
    newQuantity.append('quantity', list)
    newQuantity.append('userID', localStorage.getItem('customerID'))

    fetch('http://localhost:5000/updateQuantity', {
                                                method: 'POST',
                                                headers: myHeaders,
                                                body: newQuantity
    })

在这种方法中,我将新值推入变量列表,并初始化为数组。看来可以发送到我的后端了。我console.log节点中的值,我的数组看起来像这样(此特定实例只有两个元素):

5,3

问题是我最终在节点后端循环遍历此数组的元素以用于mysql查询,并且将逗号视为元素。有没有办法来解决这个问题?我可以以某种方式重新格式化此数组吗?

我的另一个选择是将列表数组设置为state并通过标题发送状态。这就是我这样做的方式:

    this.setState({totalQuantity: list})

    const myHeaders = new Headers();
    myHeaders.append('Authorization', localStorage.getItem('token'));
    const newQuantity = new FormData();
    newQuantity.append('quantity', this.state.totalQuantity)
    newQuantity.append('userID', localStorage.getItem('customerID'))

    fetch('http://localhost:5000/updateQuantity', {
                                                method: 'POST',
                                                headers: myHeaders,
                                                body: newQuantity
    })

此代码与第一种方法非常相似。但是在这里,我将列表数组设置为状态(状态项totalQuantity初始化为数组),然后通过标题发送状态。但是,当我这样做并在节点发布请求中console.log结果时,我得到一个空白行。它似乎什么也没发送。它甚至没有说undefined或null,而只是打印空白行(我通过在上面和下面打印字符串来测试)。这些方法中的任何一种都可以用于通过头将数组从react发送到节点吗?如果是这样,我可以做出哪些调整来解决这些问题?

回答如下:

您必须先对数组进行字符串化处理,然后再使用body发送它,然后在服务器端,您必须再次对其进行解析。POST Request with Fetch API?

将数组从反应状态发送到节点/表达式

我一直在寻找如何从我的反应前端发送一个数组到我的节点/表达后端。我的第一种方法是这样。反应:

saveUpdates = (clickEvent) => {
    var list = [];
    var length = this.props.title.length;
    var tally = 0;
    for (var i = 0; i < length; i++) {
        tally = tally + 1;
        var x = document.getElementById(tally).selectedIndex
        var y = document.getElementById(tally).options
        list.push(y[x].text)
    }

 const myHeaders = new Headers();
    myHeaders.append('Authorization', localStorage.getItem('token'));
    const newQuantity = new FormData();
    newQuantity.append('quantity', list)
    newQuantity.append('userID', localStorage.getItem('customerID'))

    fetch('http://localhost:5000/updateQuantity', {
                                                method: 'POST',
                                                headers: myHeaders,
                                                body: newQuantity
    })

在这种方法中,我将新值推入变量列表,并初始化为数组。看来可以发送到我的后端了。我console.log节点中的值,我的数组看起来像这样(此特定实例只有两个元素):

5,3

问题是我最终在节点后端循环遍历此数组的元素以用于mysql查询,并且将逗号视为元素。有没有办法来解决这个问题?我可以以某种方式重新格式化此数组吗?

我的另一个选择是将列表数组设置为state并通过标题发送状态。这就是我这样做的方式:

    this.setState({totalQuantity: list})

    const myHeaders = new Headers();
    myHeaders.append('Authorization', localStorage.getItem('token'));
    const newQuantity = new FormData();
    newQuantity.append('quantity', this.state.totalQuantity)
    newQuantity.append('userID', localStorage.getItem('customerID'))

    fetch('http://localhost:5000/updateQuantity', {
                                                method: 'POST',
                                                headers: myHeaders,
                                                body: newQuantity
    })

此代码与第一种方法非常相似。但是在这里,我将列表数组设置为状态(状态项totalQuantity初始化为数组),然后通过标题发送状态。但是,当我这样做并在节点发布请求中console.log结果时,我得到一个空白行。它似乎什么也没发送。它甚至没有说undefined或null,而只是打印空白行(我通过在上面和下面打印字符串来测试)。这些方法中的任何一种都可以用于通过头将数组从react发送到节点吗?如果是这样,我可以做出哪些调整来解决这些问题?

回答如下:

您必须先对数组进行字符串化处理,然后再使用body发送它,然后在服务器端,您必须再次对其进行解析。POST Request with Fetch API?

发布评论

评论列表 (0)

  1. 暂无评论