шаблонный литерал становится нулевым - PullRequest
0 голосов
/ 16 февраля 2019

У меня есть несколько литералов шаблонов в разных функциях jquery.некоторые из них работают.Но этот блок не выполняется.

function viewUserDetails(data) { // gets integer {1,2,3,...}
    let x = ``; // ""
    let y = ``; // ""
    $.ajax({
        type : "GET",
        url : 'http://localhost/bugs_javascript/api/public/getSingleUser.php',
        data : {
            "id" : data // gets value {1,2,3,...}
        },
        dataType : 'json',
        contentType : 'application/json',
        success: function (e) {
            console.log("success: "+e); // logs the returned JSON object
            x += `<label for="title">Full Name</label>
                    <input type="text" class="form-control" 
id="updateUserName" oninput="checkName('update')"
                            value="${e.name}">
                    <span id="uNameMsg"></span>
                    <br>
                    <label for="title">Unique ID</label>
                    <input type="textarea" class="form-control" id="updateUserUnique" rows="5"
                            value="${e.nick_name}" 
oninput="checkUnique('update', ${e.nick_name})">
                    <span id="uUniqueMsg"></span>
                    <br>
                    <label for="title">Email</label>
                    <input type="text" class="form-control" 
id="updateUserEmail"
                            value="${e.email}" 
oninput="checkEmail('update', ${e.email})">
                    <span id="uEmailMsg"></span>
                    <br>
                    <button class="btn btn-success" 
id="editUserFButtton"
                            onclick="updateUser(${e.id})">Update 
Record</button>
                    <span id="updateUserBtnMsg"></span>`; // x = ""
            y = `User Registered on: ${e.registration_date}`; // y = ""
        },
        error : function (e) {
            console.log("error: "+e);
        }
    });

    $("#modalFlashContent").append(x); // "" null
    $("#modalFlashHeader").text(y); // "" null
} // Not working. Some prooblem

Это должно дать блок HTML в переменной x и y при выполнении запроса AJAX.Но это дает ноль.

1 Ответ

0 голосов
/ 17 февраля 2019

В нижней части функции x и y будут нулевыми, потому что успех вашего вызова ajax вернется позже, чем когда вы назначите x и y.Вам нужно поставить

$("#modalFlashContent").append(x);
$("#modalFlashHeader").text(y);

внизу успешного вызова.

...