Почему я получаю два разных результата из одной и той же переменной javascript? - PullRequest
0 голосов
/ 12 мая 2019

Ниже приведен макет функции, которую я использовал в своем файле functions.php для моего сайта.До последнего месяца все работало хорошо (насколько я знаю).JavaScript возвращает два разных результата для моей объединенной строки: один представляет собой строку со значением индекса массива php, а другой - строку, включающую индекс массива PHP в одинарных кавычках.Я не уверен, почему это происходит сейчас и как это исправить.

Я попытался переместить всю конкатенацию строк в php, но это не помогло.

function paypalpayment() {
    global $wpdb;
    $user = wp_get_current_user();
    $user_ID = $user->ID;
    $shortcode = $wpdb->get_row("SELECT MAX(ap.pending) AS pending, ap.book_datetime, ap.id, ap.hash FROM ea_appointments AS ap "
            ."INNER JOIN ea_users AS us ON ap.id_users_customer = us.id "
            ."WHERE us.wp_id ='".$user_ID."'");
    $hash = $shortcode->hash;

    $html = '';
    $html .= '<input style="width:250px" class="mb0 btn btn-lg btn-filled cfa-button" type="button" onclick="deletapt()" value="Delete Apt.">';
    $html .= '<input type="hidden" name="cancel_return"';
    $html .= '<script>
        var cancelurl = "https://www.myurl.com/' . $hash . '";
        function deletapt(){
            window.location = cancelurl;
        }
        $(document).ready(function() {
            jQuery("input[name=return]").val("https://www.myurl.com/payment-success/");
            jQuery("input[name=cancel_return]").val(cancelurl);
        });  
    </script>';
}

Проблема в том, чтотеперь cancelurl производит разные результаты в разных местах:

В function deletapt() он возвращает правильный результат:

"https://www.myurl.com/90241ba3ba27e246bcd9b17b76f0b463"

В $(document).ready(function() он возвращает нечетный результат:

"https://www.myurl.com/' .$shortcode->hash. '"

Мне нужно $(document).ready(function(), чтобы вернуться

"https://www.myurl.com/90241ba3ba27e246bcd9b17b76f0b463"

Как мне это исправить.

1 Ответ

0 голосов
/ 13 мая 2019

Хорошо, проблема была:

$ (документ) .ready (функция ()

должен быть

JQuery (документ) .ready (функция ()

Я изменил свою тему, и новая тема не поддерживает jQuery, как старая тема (к сожалению). Я должен был изложить это в своем коде после переключения, и я пропустил этот. Теперь все хорошо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...