为了账号安全,请及时绑定邮箱和手机立即绑定

将 HTM 收集发送到数据库

将 HTM 收集发送到数据库

交互式爱情 2022-09-23 21:48:56

所以我有这个表,当用户在a中输入一些东西时,他们必须单击一个按钮来收集所有内容并将其存储到.contenteditabledivsdivdivsVar OBJ


document.getElementById("done_editing").addEventListener("click", get_values);

var OBJ = [];


function get_values() {

  let divobj = document.querySelectorAll('[contenteditable=true]')

  for (var i = 0; i < divobj.length; i++) {

    OBJ.push(divobj[i].textContent)

    //console.log(OBJ)  

  }


  OBJ = OBJ.filter(item => item)

  console.log(OBJ)

我想将 中的值发送到数据库。我无法绕开如何做到这一点。这不是你的平均形式,所以我想我必须使用ajax,但我没有使用ajax的经验。这就是我对阿贾克斯的。var OBJ


    $.ajax({

    type: "POST",

    url: "test.php",

    data: { arraykey: OBJ },

    success: function (response) {

      alert('succes')

      // You will get response from your PHP page (what you echo or print)

    },

    error: function (jqXHR, textStatus, errorThrown) {

      console.log(textStatus, errorThrown);

    }

  })


}

任何人都可以为我指出如何使用ajax以及如何配置php文件的正确方向?


文件 :


 //Check connection

if($link === false){

    die("ERROR: Could not connect. " . mysqli_connect_error());

}



$data = isset($_POST['arraykey']);

if ($data)

{

  $array = $_POST["arraykey"];

  echo $array;

  echo " is your array";

else 

{

  $array = null;

  echo "no array supplied";

}




/*$data = isset($_POST['OBJ']);


print_r($_POST);

*/

// close connection

mysqli_close($link);


?>

返回一个var_dump($_POST);array(0) { }

更新:ajax似乎成功了,但没有数组传递给php。


查看完整描述

1 回答

?
冉冉说

TA贡献1530条经验 获得超1个赞

由于有多个值,您可以使用多个值向其添加多个值,并将其发送到ajax。divsarray


演示代码 :


document.getElementById("done_editing").addEventListener("click", get_values);


var OBJ = [];


function get_values() {

  let divobj = document.querySelectorAll('[contenteditable=true]')

  for (var i = 0; i < divobj.length; i++) {

    OBJ.push(divobj[i].textContent); //add in array 


  }

  console.log(OBJ)

  //your ajax call

  $.ajax({

    type: 'POST',

    url: 'test.php',

    data: {

      OBJ: OBJ //pass array to php 

    },

    success: function(data) {

      alert("something");

    }

  });

}

div {

  border: 1px solid;

}

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<div contentEditable="true"></div>

<div contentEditable="true"></div>

<div contentEditable="true"></div>

<div contentEditable="true"></div>


<button id="done_editing">Done</button>


你的 php 将如下所示:


  <?php

    // You should call this first

     session_start();

    $data = isset($_POST['arraykey']);

     if ($data)

       {

       $_SESSION['arraykey'] = $_POST["arraykey"];//putting aray value in session

       echo  $_SESSION['arraykey'];

       echo " is your array";

        } 

        else 

        {

        echo "no array supplied";

       }


        ?>


查看完整回答
反对 回复 2022-09-23
  • 1 回答
  • 0 关注
  • 8 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信