Синтаксическая ошибка, нераспознанное выражение при вызове ajax - PullRequest
0 голосов
/ 30 января 2019

Я работаю над проектом, в котором у меня проблема с функцией комментирования, которую я сделал.Всякий раз, когда я комментирую и использую специальные символы, консоль отображает эту ошибку: syntax error, unrecognized expression.Кроме того, запрос проходит, и мой бэкэнд (PHP) вставляет данные в БД, но затем мне нужно обновить, чтобы получить обновленную версию сообщения с этим новым комментарием.Я не могу понять, почему даже после нескольких поисков здесь в стеке, и я действительно мог бы использовать новую пару глаз на код.

Я думаю, что бэкэнд не проблема, поэтому оноставил из этого поста.Кроме того, форма просто содержит текстовый ввод и кнопку отправки.Возможно, важно упомянуть, что я использую jQuery v3.3.1.

Наконец, когда форма отправляется, запускается вызов ajax.Вот оно:

var newComment;
$(document).on("submit", "form[data-comment]", function(e){
    e.preventDefault();
    var where = $(this);
    var updateThis = $(where).parent().parent();
    var data = $(where).attr("data-comment").split(",");
    var comment = $(where).find("input[name='commenter']").val().toString();// <= this might be the issue?

    if (data[0] == 1){
        if (data[1] != "" && data[2] != "" && data[3] != ""){
            //insert comment via ajax and return post and insert post
            if (newComment){ <= prevent firing until newComment = false
                newComment.abort();
                return false;
            }

            $(where).find("input[type='submit']").prop("disabled", true);
            $(where).find("input[type='submit']").val("commenting...");

            newComment = $.ajax({
                url: "mypage/core/AjaxRequests.php", <= call to php handler
                type: "POST",
                data: { type: "15", data: data, comment: comment }
            });
            $(comment).val("");

            newComment.done(function(response, textStatus, jqXHR){

                newComment = false;
                $(where).find("input[type='submit']").prop("disabled", false);
                $(where).find("input[type='submit']").val("Comment");

                if (response.length > 200){
                    $(updateThis).parent().fadeTo(0,0);
                    $(updateThis).parent().prop('outerHTML', response);
                    $(updateThis).parent().fadeTo(1,1);
                }
            }); 
        }
    }

});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...