Вызов функции внутри .сделано из запроса Jquery.post

#javascript #jquery #ajax

Вопрос:

Я в замешательстве по этому поводу.

Я пытаюсь вызвать другую определенную функцию в AJAX, и я получаю ошибку «функция не найдена».

Я также попытался объявить это как переменную и использовать, но все равно получаю ту же проблему, не могу найти функцию.

 var self = this
...
$.post.done(function(respose) {
    self.init_customer_dropdown();
})
 

Если я вызову функцию вне AJAX-запроса, она будет работать нормально

Вот полный блок кода

 $('.save-client-modal').on('click', function(e) {

e.preventDefault();
//Save Cutomer to Database

var url = admin_url   "clients/create_client_ajax";

var data = {};
...

$.post(url, data).done(function (response){
    response = JSON.parse(response);

    if(response.success == true || response.success == "true")
    {
         init_customer_dropdown(); <-- will not run this function
    }
    else
    {
        alert_float('warning', response.message);
    }
});

});

function init_customer_dropdown()
{
    alert("Customer Dropdown");
}
 

Заранее спасибо
Майк

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

1. Здравствуйте, внутри работает какой-нибудь код .done() ? Я имею в виду, до response разбора. Если это так, это означает, что если оператор не работает — могут возникнуть проблемы с синтаксическим анализом.

2. Кроме того, попытайтесь выйти init_customer_dropdown() за рамки jQuery.

3. Json. parse удаляет неопределенные свойства.,просто выйдите к черту из своего кода на каждом шаге, и точная проблема станет очевидной