Вызов функции AJAX для скрипта функции PHP в разделе REST (Paypal) работает в jQuery, а не в REST. - PullRequest
0 голосов
/ 09 ноября 2018

Я нахожусь здесь в небольшом морозе, ломая голову часами.

В разделе успеха PayPal REST я пытаюсь вызвать функцию. Прежде чем я переместил его в раздел REST, я протестировал обычное событие onclick кнопки. Работал нормально.

Вот код:

        ...
onAuthorize: function(data, actions) {
        return actions.payment.execute()
            .then(function() {
                // window.alert('Payment Complete!');
                $.ajax({
                    type: "POST",
                    url: 'functions.php',
                    //dataType: "json",
                    data: {cuf_credits: '<?php echo $cuf_credits; ?>'},     
                    success: function(data){
                        console.log(data);
                        $("#output").text("Thanks for buying " + data.cuf_credits + " credits");
                    }
                });
                // Show a thank-you note
                document.querySelector('#paypal-button-container').style.display = 'none';
                document.querySelector('#thanks').style.display = 'block';
                document.querySelector('#orderdetails').style.display = 'none';         
            });
    }
...

Селекторы запросов заполнены нормально, так же как и некоторый основной текст в разделе успеха jQuery. Они возвращают "undefined", хотя, но это хорошо, я просто пытаюсь ОТПРАВИТЬ, а не ПОЛУЧИТЬ данные назад.

Функции внутри functions.php не выполняются, но когда я использую их в этом коде, это:

var testme = document.getElementById('test');
testme.onclick = function () {
    console.log('Test Started');
    $.ajax({
        type: "POST",
        url: 'functions.php',
                    data: {cuf_credits: '<?php echo $cuf_credits; ?>'},     
        success: function(data){
            console.log(data);
        }
    });

    function error(err) {
    console.log('Not Closed!');     

    }   
};

Если бы кто-нибудь мог направить меня обратно в правильном направлении, это было бы здорово!

Ответы [ 2 ]

0 голосов
/ 10 ноября 2018

Я попытался жестко закодировать переменные и заметил, что они работают нормально. Извините за неудачу, кажется, работает хорошо после пары часов, не глядя на него и выбирая другой подход. Опять прошу прощения.

0 голосов
/ 09 ноября 2018

Давайте попробуем отладку ...

Измените свой блок AJAX следующим образом:

...
onAuthorize: function(data, actions) {
        return actions.payment.execute()
            .then(function() {
                // window.alert('Payment Complete!');
                //check to make sure your code is getting this far
                ////////start debug
                console.log("Calling AJAX...");
                ////////end debug
                $.ajax({
                    type: "POST",
                    url: 'functions.php',
                    //dataType: "json",
                    data: {cuf_credits: '<?php echo $cuf_credits; ?>'},     
                    success: function(data){
                        console.log(data);
                        $("#output").text("Thanks for buying " + data.cuf_credits + " credits");
                    }
                    //add a 'complete' function to get the status of the call
                    ////////start debug
                    complete: function(obj, textStatus){
                        console.log("AJAX Status: " + textStatus);
                    }
                    ////////end debug
                });
                // Show a thank-you note
                document.querySelector('#paypal-button-container').style.display = 'none';
                document.querySelector('#thanks').style.display = 'block';
                document.querySelector('#orderdetails').style.display = 'none';         
            });
    }
...

Дайте мне знать, как выглядит ваш консольный журнал после попытки ...

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