Получение недопустимого вызова после использования $ .ajax внутри функции $ (doocument) .keypress - PullRequest
1 голос
/ 12 мая 2019

По сути, я хочу сохранить нажатия клавиш пользователя в моей базе данных.Итак, для 10 нажатий клавиш, после того, как они пересекут десять клавиш, я перенесу это в базу данных.Я добавил ключи, но получил проблему.Проблема заключалась в том, что при использовании $ .ajax говорится, что это незаконный вызов.


var url = window.location;
window.collectedData = [
    {
        type: 'key',
        data: ''
    },
    {
        type: 'mouse',
        data: []
    }
];

$(document).keypress(function(event) {
    var x = event.charCode || event.keyCode;  // Get the Unicode value
    var y = String.fromCharCode(x);
    collectedData[0].data += y;

    if (collectedData[0].data.length > 10) {
        let data_ = collectedData[0].data;
        let type_ = collectedData[0].type;
        $.ajax({
            url: "/track",
            type: 'post',
            csrf: token,
            data: {
                url: url,
                item: type_,
                data: data_
            }
        });
    }
});

1 Ответ

2 голосов
/ 12 мая 2019

illegal invocation обычно вызывается, когда вы передаете непрозрачный объект в параметр данных $ .ajax.

window.location - это не строка, а объект Location, вместо него следует использовать window.location.href.

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