Как я могу отправить данные из редактора summernote через ajax в файл php? - PullRequest
0 голосов
/ 03 июля 2019

Я пытаюсь получить данные из редактора summernote и отправить их в файл php через ajax.

Я использую load () для передачи некоторого набора параметров в php-файл, который работает отлично; но я понял, что данные summernote состоят из тегов HMTL, и потребуется много усилий для проверки данных Summernote для транспорта. Вместо этого я решил сделать еще один вызов ajax, используя $ .ajax (). Каждый раз, когда я отправляю данные, ajax-вызов load () работает, а $ .ajax () - нет, вместо этого я получаю сообщение об ошибке -

Uncaught TypeError: Illegal invocation
    at i (jquery.min.js:2)
    at jt (jquery.min.js:2)
    at Function.w.param (jquery.min.js:2)
    at Function.ajax (jquery.min.js:2)
    at HTMLButtonElement.<anonymous> (<anonymous>:88:58)
    at HTMLButtonElement.dispatch (jquery.min.js:2)
    at HTMLButtonElement.y.handle (jquery.min.js:2)

Ниже мой код

<div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false">
<div class="snippet-code">
<pre class="snippet-code-js lang-js prettyprint-override"><code>    $(document).ready(function() {
      $("#summernote").summernote();
      //Comment
      var commentForm = document.getElementById("commentForm");
      var domID = "#taskPro" + jobID;

      $(domID).html('<div class="progress-bar progress-bar-striped progress-bar-animated bg-danger" style="width:100%;">Sending Report</div>');
      $(domID).load("../../../config/actions.php?cN=" + customerNumber + "&date=" + date + "&fullName=" + newString7 + "&address=" + newString8 + "&landMark=" + newString9 + "&commet=" + comment + "&complextion=" + complextion + "&type1=" + type1 + "&type2=" + type2 + "&color=" + color + "&xOwner=" + newString0 + "&areaProfile=" + newString1 + "&ifn=" + newString2 + "&ixOwner=" + newString3 + "&iAddress=" + newString4 + "&telephone=" + newString5 + "&requestType=" + newString6 + "&jobID=" + jobID + "&gpsCoords=" + gpsCoords + "&submitReport=1");
      //Post Comment
      $.ajax({
        url: "../testAction.php",
        type: "POST",
        data: new FormData(commentForm),
        contentType: "text/plain"
      });
    });
    <form method="post" action="" id="commentForm">
      <textarea class="form-control" name="comment" id="summernote"><p>Comment: Should contain Comment, Verification Status Description, Building deatails. Also upload images where neccessary</p></textarea>
    </form>

    <script>
    </script>

Я ожидаю отправки данных, полученных из редактора summernote, в базу данных с помощью mysqli_real_escape_string ()

Ответы [ 2 ]

0 голосов
/ 03 июля 2019

Вам необходимо правильно проанализировать значение FormData.

data: new FormData($('#commentForm')[0]),
contentType: false,
processData: false
0 голосов
/ 03 июля 2019

Вы можете попробовать код ниже:

  $.ajax({
            type: "POST",
            url: "../testAction.php",
            data : { summernote : $("#summernote").summernote("code"); },
            success: function(response) {
                // response 
                // console.log(response,"response");
            },
            error: function(errResponse) {
                // alert(errResponse)
                // console.log("errResponse", errResponse);
            }
        })
...