Ajax ответ возвращается пустым после успеха - PullRequest
1 голос
/ 13 февраля 2020

Я отправил этот код на свой производственный сайт, и по какой-то причине ответ на этот конкретный вызов сейчас ничего не возвращает. Он работает на моем промежуточном сайте, а также по запросу почтальона. Может ли кто-нибудь помочь мне понять, почему ответ внезапно всегда будет возвращать любое пустое значение? Опять же, это в настоящее время работает на моем промежуточном сайте, а также через запрос почтальона, поэтому я знаю, что это не кодировка URL

        const Url = 'https://cors-anywhere.herokuapp.com/https://scriptco.jitbit.com/helpdesk/api/ticket';

        var pharmacyName = jQuery("div.pharmacy_name").text();
        var pharmacyPhone = jQuery("div.pharmacy_phone").text();
        var pharmacyAddress = jQuery("div.pharmacy_street").text();
        var pharmacyCity = jQuery("div.pharmacy_city").text();
        var pharmacyState = jQuery("div.pharmacy_state").text();
        var pharmacyZipcode = jQuery("div.pharmacy_zip").text();

        var drug_list = jQuery('div.drug_list ul li').map(function() {
            return jQuery(this).text();
        }).get().join(',');

        const ticketUrl = "?categoryID=406340&body=" + "<h5 style='text-decoration:underline;'>Pharmacy Name:</h5>" + pharmacyName + "<h5 style='text-decoration:underline;'>Pharmacy Phone:</h5>" + pharmacyPhone + "<h5 style='text-decoration:underline;'>Pharmacy Address:</h5>" + pharmacyAddress + "<br/>" + pharmacyCity + ", " + pharmacyState + " " + pharmacyZipcode + "<h5 style='text-decoration:underline;'>Drugs/Rx's:</h5>" + drug_list + "&subject=Transfer Request&priorityId=0";

        var finalUrl = Url + ticketUrl;


        var form = new FormData();

        var ticket_settings = {
            "url": finalUrl,
            "method": "POST",
            "timeout": 0,
            "headers": {
                "Content-Type": "application/x-www-form-urlencoded",
                "Authorization": "Basic <?php echo $jitbit_encoded ?>",
            },
            "processData": false,
            "mimeType": "multipart/form-data",
            "contentType": false,
            "data": form
        }

        jQuery.ajax(ticket_settings).done(function (response) {
            console.log(response);
            fillCustomFields(response);
        });

1 Ответ

1 голос
/ 14 февраля 2020

Когда вы вручную создаете URL-адреса, используя значения Dynami c, не забывайте кодировать, используя функцию encodeURI():

const ticketUrl = "?categoryID=406340&body=" + "<h5 style='text-decoration:underline;'>Pharmacy Name:</h5>" + pharmacyName + "<h5 style='text-decoration:underline;'>Pharmacy Phone:</h5>" + pharmacyPhone + "<h5 style='text-decoration:underline;'>Pharmacy Address:</h5>" + pharmacyAddress + "<br/>" + pharmacyCity + ", " + pharmacyState + " " + pharmacyZipcode + "<h5 style='text-decoration:underline;'>Drugs/Rx's:</h5>" + drug_list + "&subject=Transfer Request&priorityId=0";
ticketUrl = encodeURI(ticketUrl)
// ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...