чтение переменной js в ajax и json

#php #jquery #mysql #json #ajax

#php #jquery #mysql #json #ajax

Вопрос:

В файле .js я беру данные, сохраняю их во входных данных и выполняю модальный

      $('.editCircle').click('click', function () {
                var reclamoIDedit = $(this).attr('data-edit');
                $("#numReclamo").attr("value", reclamoIDedit);
                $("#formUpdate").attr("action", "update.php?idReclamo="   reclamoIDedit);
                $('#modalEdicion').modal('show');
            });
  

другой файл .js отвечает за «отображение данных» из моей базы данных

     var editorReclamo = document.getElementById('editReclamo')
    , loader = document.getElementById('loader');

function cargarEditor() {
    var peticion = new XMLHttpRequest();
    var r = document.getElementById('numReclamo');
    peticion.open('GET', 'edicionExistente.php?reclamo='   r);
    loader.classList.add('active');
    peticion.onload = function () {
        var datos = JSON.parse(peticion.responseText);
        for (var i = 0; i < datos.length; i  ) {
            var elemento = document.createElement('ul');
            elemento.innerHTML  = ('<form id="formUpdate" method="POST" action="" autocomplete="off"><input id="numReclamo" name="reclamo" value=""><div class="input-group"><input name="titulo" type="text" class="form-control" id="titulo" aria-describedby="basic-addon3" value="'   datos[i].titulo   '" maxlength="50"><div class="caracteres"> </div></div><div class="input-group" id="responsableID"><input name="responsable" type="text" class="form-control typeahead" id="responsableForm" aria-describedby="basic-addon3" data-toggle="tooltip" data-placement="right" value="'   datos[i].responsable   '"> </div><div class="input-group" id="descripcionID"><textarea name="descripcion" class="form-control" aria-label="With textarea"  data-toggle="tooltip" data-placement="right" title="Deja claro la importancia y los beneficios para la comunidad la resolucion del problema">'   datos[i].descripcion   '</textarea></div><div class="modal-footer"><button type="Submit" class="btn btn-primary enviarReclamo btnGuardar"> Guardar!</button></div></form>');
            editorReclamo.appendChild(elemento);
        }
    }
    peticion.onreadystatechange = function () {
        if (peticion.readyState == 4 amp;amp; peticion.status == 200) {
            loader.classList.remove('active');
        }
    }
    peticion.send();
    $('.editCircle').click('click', function () {
        cargarEditor();
    });
  

url, по которому он все читает, будет следующим: edicionExistente.php

 <?php

error_reporting(0);
header('Content-Type: application/json; charset=utf-8');
include "db.php";

$var = $_GET['reclamo'];
$db->set_charset("ut8");
$reclamos = mysqli_query($db, "SELECT  * FROM `reclamos` WHERE id_reclamo= $var ");

$propuestas = [];
while ($fila = mysqli_fetch_array($reclamos)) {
    $usuario = [
        'id_propuesta' => $fila['id_reclamo'],
        'titulo' => $fila['titulo'],
        'responsable' => $fila['responsable'],
        'descripcion' => $fila['descripcion'],
        'imagen' => $fila['file_name'],

    ];
    array_push($propuestas, $usuario);
}
echo json_encode($propuestas);

?>
  

мой вопрос в том, я понимаю, что проблема в том, что он не «изменяет» или не считывает переменную «r», куда я отправляю номер для фильтрации в базе данных dat….

Комментарии:

1. Предупреждение: Вы широко открыты для SQL-инъекций и действительно должны использовать параметризованные подготовленные инструкции вместо ручного построения ваших запросов. Они предоставляются PDO или MySQLi . Никогда не доверяйте никаким входным данным, особенно тем, которые поступают со стороны клиента. Даже когда ваши запросы выполняются только доверенными пользователями, вы все еще рискуете повредить свои данные .

2. Если вы хотите, чтобы мы ответили на вопрос, вам нужно задать его. У нас нет времени выяснять, с какой проблемой вы можете столкнуться или какого результата пытаетесь достичь. Мы бы хотели вам помочь, но нам нужно знать больше.

3. Я понимаю, что проблема в том, что она не «изменяет» или не считывает переменную «r», куда я отправляю номер для фильтрации в базе данных dat….

4. Если вы понимаете проблему, то что вы просите нас решить?

5. Я не знаю, как это исправить

Ответ №1:

Не могу прокомментировать. Но мы сказали выше в комментариях document.getElementById('numReclamo') , что это не даст вам строку, которую, я полагаю, вы хотели бы передать в своем GET.

Может быть, вам стоит попробовать document.getElementById('numReclamo').value ? Это то, что вам нужно? Вы получите значение из этого элемента DOM (например, input или sth).