Проблема, послав формуляр с AJAX

"success" функции отправления AJAX функционирует, но "url" не делает Вашу функцию выполнения кода. Только проверь, если каталог существует и тогда идет в "success"; Если в "url" я размещаю фальшивый каталог, он не идет в "success".

Для FORM я имею

<form method="POST" id="botones_estado" name="botones_estado" action="estados/quebueno.php">
  <div class="btn-group btn-group-justified">
    <div class="btn-group">
      <button type="submit" onclick="quebueno();" name="btn_quebueno_estado" class="btn btn-default" value="<?php echo $usuario_posteando['id_posteando']; ?>">Qué bueno</button>
    </div>
  </div>
</form>

Для функций я имею

function quebueno(){
	    $('#botones_estado').submit(function() {
	        $.ajax({
	            type: 'POST',
	            url: 'quebueno.php',
	            data: $(this).serialize(),
	            success: function(data) {
	                location.reload(true);
	            }
	        });      
	        return false;
	    });
	}

Код PHP, который расположен в "quebueno.php" уже, я это протестировал с ACTION FORM и работай совершенно. Но я хочу, чтобы моя страница ПРЕДОТВРАТИЛА обновление, послав формуляр. Кто-то, кто пожалуйста исправлял бы меня.

3
задан 03.06.2016, 09:26
3 ответа

Попробуй это asГ-:

<form method="POST" id="botones_estado" name="botones_estado" action="?">
  <div class="btn-group btn-group-justified">
    <div class="btn-group">
      <button type="submit" onclick="quebueno();" name="btn_quebueno_estado" class="btn btn-default" value="<?php echo $usuario_posteando['id_posteando']; ?>">Qué bueno</button>
    </div>
  </div>
</form>

function quebueno(){
	    $('#botones_estado').submit(function() {
	        $.ajax({
	            type: 'POST',
	            url: 'estados/quebueno.php',
	            data: $(this).serialize(),
	            success: function(data) {
	                location.reload(true);
	            }
	        });      
	        return false;
	    });
	}
2
ответ дан 24.11.2019, 14:14

Я предлагаю тебе снять type="submit" кнопки и это оставить type="button"

В твоей функции, если ты это оставляешь в submit:

function quebueno(){
    $('#form').submit(function(e) {
        e.preventDefault()//evitas hacer el submit
        $.ajax({
            type: 'POST',
            url: 'estados/quebueno.php',
            data: $('#form').serialize(),
            success: function(data) {
                //location.reload(true);
                console.log("sin refresh");
                //acciones a hacer cuando se recibe la info
            }
        });
    });
}

e.preventDefault() ты избегаешь посылать формуляр, так как ты сделаешь enviГі из-за ajax.

Или ты можешь оставлять твою функцию этого другого способа и это будет лучшая, когда кнопка не submit.

function quebueno(){
  $.ajax({
      type: 'POST',
      url: 'estados/quebueno.php',
      data: $('#form').serialize(),
      success: function(data) {
          //location.reload(true);
          console.log("sin refresh");
          //acciones a hacer cuando se recibe la info
      }
  });
}
1
ответ дан 24.11.2019, 14:14
  • 1
    Одна спрашивает м и # 225; s, который framework я должен использовать Jquery? –  Mattew Janeey 03.06.2016, 19:40
  • 2
    так как видя кажется, что ты используешь bootstrap, зависеть и # 237; в versi и # 243; n, который ты использовал bootstrap., я думаю, что начиная с версии 3.0.0 используется jquery-1.9 в стабильной версии bootstrap (3.3.6) в шаблоне примера, используй jquery-1.11.3 –  JuankGlezz 03.06.2016, 20:10
  • 3
    поскольку он определяет jquery версию .x1, у него есть опора для предыдущих версий explorer и он тяжелее, в версии 2.x он не имеет эту опору, что больше lijero –  JuankGlezz 03.06.2016, 20:13
  • 4
    Пробовать и # 233; меняться 1.11.3, Так как ни одна из двух функций trabaj и # 243;. –  Mattew Janeey 04.06.2016, 01:36
  • 5
    Только что издал в первом funci и # 243; n, если ты оставляешь bot и # 243; n как submit несмотря на то, что это должен и # 237; чтобы не делать refresh страницы –  JuankGlezz 04.06.2016, 02:14

Попробуй размещая этикетку button тип type = "button" так он будет реагировать на событие в ves хождения к action формуляра, чему-либо подобному:

<form method="POST" id="botones_estado" action="#?">
  <div class="btn-group btn-group-justified">
    <div class="btn-group">
      <button type="button" onclick="quebueno();" name="btn_quebueno_estado" class="btn btn-default" value="<?php echo $usuario_posteando['id_posteando']; ?>">Qué bueno</button>
    </div>
  </div>
</form>

В функции, которая получает данные о формуляре, в этом случае value кнопки, не необходимо звонить в событие submit, он использует FomData для envió данных о формуляре, в меня казаться лучше делать это таким образом

function quebueno(){
    // con el FormDAta envias todos los elementos del formulario
    // y los recibes en la pagina php con el name que tengan estos elementos
    // ejemplo $valueBoton = $_REQUEST["btn_quebueno_estado"];

    var  formData = new FormData("form");
        $.ajax({
            type: 'POST',
            url: 'estados/quebueno.php',
            data: formData,
            success: function(data) {
                location.reload(true);
            }
        });      
 }

я надеюсь, что он помогает тебе

1
ответ дан 24.11.2019, 14:14

Теги

Похожие вопросы