Неперехваченная ошибка типа: незаконный вызов jquery.min.js:4 [Ajax, jQuery]

#javascript #jquery #ajax

#javascript #jquery #ajax

Вопрос:

Я получаю эту ошибку при $.ajax запуске моей строки.

 Uncaught TypeError: Illegal invocation jquery.min.js:4
e jquery.min.js:4
Vc jquery.min.js:4
Vc jquery.min.js:4
Vc jquery.min.js:4
m.param jquery.min.js:4
m.extend.ajax jquery.min.js:4
ajaxFunction NewHost.php:231
validateInput NewHost.php:324
onclick NewHost.php:114
 

Насколько я знаю, остальная часть скрипта работает.

Я перехожу от использования ванильного ajax к jQuery и ajax. Вызов ajax был адаптирован с отдельной страницы, которая действительно работала.

Атрибуты URL, data и success были изменены в соответствии с потребностями страницы.

Строка, которая выдает ошибку $.ajax({ : я знаю, это означает, что проблема во всей функции.

Вот нерабочая функция

 function ajaxFunction(){

var Fname = document.getElementById("FName").value;
var Lname = document.getElementById("LName").value;              
var BirthDate = document.getElementById("BirthDate").value;
var email = document.getElementById("email").value;
var Pass = document.getElementById("Pass").value;


$.ajax({
    url: "ProHost.php",
    data: { FName:Fname, LName:LName, BirthDate:BirthDate, Email:email, Pass:Pass },
    type: "GET",
    //cache: false,
    async:false,
    success : function (result) {
        console.log("Request sent");

        var result=trim(result);

        $("#demo").hide();

        if(result == 'correct'){
            console.log(result);
            location.assign("/e-Party/HostAcountPage.php");
        }else{
            console.log(result);
            $("#demo").html("You are now registered $FName  $LName , please sign-in ");
        }
    }
});

}
 

вот рабочий вызов:

 var Email = document.getElementById("Email").value;
var Pass = document.getElementById("Pass").value;


console.log( Email   '| | '   Pass);

$.ajax({
        url: "Process.php",
        data: { Email:Email, Pass:Pass },
        type: "POST",
        //cache: false,
        async:false,
        success : function (result) {
            console.log("Request sent");

            var result=trim(result);
            $("#flash").hide();
            if(result == 'correct'){
                //console.log(result);
                location.assign("/e-Party/HostAcountPage.php");
            }else{
                console.log(result);
                $("#errorMessage").html(result   "<br><a href='../NewHost/NewHost.php'> New Host?</a>");
            }
        }
    });
 

Комментарии:

1. async:false это плохая идея. Это заставляет браузер зависать, пока он не получит сетевой ответ.

2. «Я перехожу с использования ванильного ajax на jQuery и ajax» — почему?

3. @JanDvorak это нормально, так как пользователь ничего не может сделать, пока сервер не будет завершен

4. @JanDvorak Потому что это очищает мой код и увеличивает время обслуживания

5. Судя по стеку ошибки, кажется, что вы где-то вызываете какую onclick -то функцию, и это внутри нее. Можете ли вы показать нам, где это произошло?