Не получить обратный вызов в успешном блоке ajax вариантов отправки - PullRequest
1 голос
/ 14 июля 2020

У меня здесь фрагмент кода, это просто параметры ajax, которые я использую для передачи в мою $ (form) .ajaxSubmit (submit_ajax_options)

var submit_ajax_options = {
            url: init_param.server_url,
            type: 'POST',
            data: { agents_data : agents },
            dataType: 'json',
            timeout: 30000,
            beforeSubmit: function( formData, jqForm, options ){
                
                console.log('before submit');

                form_loader.fadeIn();
                
            },
            success: function( response, status, xhr, $form ){
                
                console.log('success callback');

                form_loader.fadeOut();
                if(response.status == 'ok'){
                    
                    create_box('success', response.msg);
                    setTimeout(function(){
                        window.location.href = response.redirect;
                    }, 2000);
                }
                else{
                    create_box('danger', response.msg);
                }
            },
         }

И это мой код процесса на моем сервере (PHP):

<some processing code here>

$response['redirect'] = $redirect_url;
$response['status'] = 'ok';
$response['msg'] = "successfully";
//output data jsone
echo json_encode($response);

когда я запускаю отладку на моем сервере, код работает нормально без каких-либо ошибок, но в моем коде js на клиенте я не получаю ничего обратного вызова в моем успешном блоке submit_ajax_options (я не вижу строку регистрации в консоли моего браузера, хотя строка регистрации в блоке beforeSubmit была напечатана)

Я действительно понятия не имею об этом вопрос. Кто-нибудь может помочь мне в моей ситуации. большое спасибо

1 Ответ

0 голосов
/ 14 июля 2020

Вы можете попробовать это, если это поможет вам

  1. $response['redirect'] = $redirect_url;
    $response['status'] = 'ok';
    $response['msg'] = "successfully";
    //output data jsone
    echo json_encode($response);
    exit; // add exit so it stops execution and you can see the data in response
    
  2. декодировать ваш JSON ответ

    var data = JSON.parse(response);
    
    console.log(data.status)
    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...