Проблемы с Ajax и Php api

В течение нескольких часов я пытаюсь понять, почему это произошло, я объясняю себе:

Я отправляю запрос ajax на свой api с FormData, все поля на данный момент хороши. Когда его отправили в мой API, какое-то поле (например, $_POST["Description"]) выглядело иначе ..

Мой JavaScript:

    document.getElementById("sendAddQuestion").onclick = function () { 
        if (document.getElementById("inputIntitule").value! = "" && document.getElementById("inputDescription").value! = "" && $("#tagsInputList").val()! = "") {

            var lsttags = "";
            var str = $("#tagsInputList").val();
            var res = str.split(",");
            res.forEach(function(element) {
                lsttags= lsttags + "["+element+"]";

            });

            var form = new FormData();
            form.append("intitule",  "\"" + document.getElementById("inputIntitule").value + "\"" );
            form.append("description",  "\"" +document.getElementById("inputDescription").value+ "\"");
            form.append("id_utilisateur",  "2");
            form.append("tags", "\"" +lsttags+ "\"");

            var settings = {
               "async": true,
               "crossDomain": true,
               "url": "http://localhost/FAQ/api.php?action=post_question",
               "method": "POST",
               "headers": {
                 "cache-control": "no-cache",
                 "Postman-Token": "093d95af-25f5-4c51-bfcd-9f74577ad200"
               },
               "processData": false,
               "contentType": false,
               "mimeType": "multipart/form-data",
               "data": form
            }

            $.ajax(settings).done(function (response) {

                document.getElementById("inputIntitule").value = "";
                document.getElementById("inputDescription").value = "";
                $("#tagsInputList").tagsinput('removeAll');
                $("#myModalAddQuestion").modal("hide")
                location.reload();

                });

        } else {
            alert("Veuillez remplir tout les champs!");
        }
    };

Мой php API:

//je passe en paramètre mon objet PDO précédemment créé afin d'exécuter ma requête
function edit_question($pdo) { 
    $sql = "UPDATE `question` SET `intitule`='".$_POST["intitule"]."',`description`='".$_POST["description"]."' ,`tags`='".$_POST["tags"]."' WHERE `id` = ".$_POST["id"];
    //création de la requête Sql pour aller chercher tous les articles
    $exe = $pdo->query($sql); 
    return $_POST["intitule"];
}

В моем document.getElementById("inputIntitule").value стоит Pourquoi votre site indique-t-il plusieurs disponibilités ?

но в $_POST["intitule"] у меня есть Pourquoi votre site indique-t-il plusieurs disponibilit\u00c3\u00a9s ?

ты можешь мне сказать почему?

похоже на проблему с кодировкой (utf-8)! É закодирован как \u00c3\u00a9

Jeff 26.10.2018 15:57

посмотрите stackoverflow.com/questions/279170/utf-8-all-the-way-through

Jeff 26.10.2018 15:58

Я где-то вижу, если я использую FormData, это автоматически в utf8 ..

Anthony Careddu 26.10.2018 16:17

Я сомневаюсь, что. Это зависит от заголовков html, позже зависит от кодировки php скрипта, кодировки базы данных и таблицы и так далее.

Jeff 26.10.2018 16:19

@andreat Будьте внимательнее при редактировании. Ваше редактирование было в лучшем случае сомнительным, а ИМО на самом деле вредным, поскольку он откатил некоторые полезные изменения.

Patrick Q 26.10.2018 16:29

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

AndreaT 30.10.2018 20:23
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
6
48
0

Другие вопросы по теме