jQuery AJAX Проблема с перенаправлением при замене - PullRequest
1 голос
/ 27 мая 2020

У меня есть бит кода jQuery AJAX, чтобы отправить файл в сценарий PHP, обновить / вставить в db и продолжить редактирование по идентификатору в качестве перенаправления. Работает отлично.

Проблема в том, что ... на каждой другой странице, кроме домашней (без перезаписи, базовый URL) скрипт нарушит работу прослушивателя событий onchange и пропустит загрузку, а затем продолжит редактирование прерванной загрузки.

Все остальные странице этот код работает идеально и работает так, как задумано. Но домашняя страница его не слушает. Я не могу разобраться. Только недавно мы получили последний идентификатор вставки, работающий для перенаправления для редактирования записи.

$(document).ready(function(a) {
    $("#form-fileUpload").on("change", function(a) {
    var file_data = $('#uploadFile').prop('files')[0];   
    var form_data = new FormData();                  
    form_data.append('file', file_data);
    alert(form_data);                             
    $.ajax({
        url: '/ajax_file_upload.php',
        dataType: 'text',
        cache: false,
        contentType: false,
        processData: false,
        data: form_data,                         
        type: 'post',
        success: function(php_script_response){
        if (data.redirect == true) {
            window.location.href = '/file-edit.php?id=<?php echo mysql_insert_id(); ?>';
        }
            //alert(php_script_response);
        }
     });
    });
});

Как я могу предотвратить игнорирование этим действием отправки onchange для нашей формы? Это что, домен root? Не думал, что код PHP актуален, он работает нормально, как и предполагалось.

Таким образом, пользователь просматривает файл, и форма автоматически загружает и перенаправляет их, отправляя их для редактирования и добавления дополнительных деталей в форму. Идеально подходит для всех страниц, кроме домашней. Неисправен JS? Есть ли обработка для этого в этой ситуации вне дополнительных страниц?

Код PHP, который играет эту роль (AJAX скрипт):

$id = $conn->lastInsertId();
// Redirect & complete details
header("Location: https://www.website.com/editfile?id=".$id.");

1 Ответ

0 голосов
/ 27 мая 2020

Вы должны использовать полный URL-адрес для направления jQuery, как показано ниже

window.location.href = 'https://www.website.com/file-edit.php?id=<?php echo mysql_insert_id(); ?>';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...