2015-05-27 4 views
0

Я собираюсь работать с HTML-формой, используя AJAX и файл PHP для управления данными, но не работает ни сообщение об успешном сообщении, ни сообщение об ошибке. Я попробовал firebug, но он как-то ждет чего-то, когда возникает инструкция $ .ajax, после чего он «сбой».

<form id="alcoholic-form" name="alcoholic-form" method="post"> 
    <fieldset> 
     <input type="submit" id="submit" value="Invia"> 
    </fieldset> 
</form><!-- form --> 

<div id="risultato"></div> 
<div id="errore"></div> 

controller.js Файл:

$(document).ready(function(){ 
    $("#submit").click(function(){ 

    //var formData = $("#alcoholic-form").serialize(); 
    var nome = "nico"; 
    var cognome = "basi"; 


    $.ajax({ 
     type: "POST", 
     url: "prova.php", //data manager 
     data: "nome=" + nome + "&cognome=" + cognome, //data to server 
     dataType: "html", //return value format 
     success:function(msg){ 
      $("#risultato").html(msg); 
      alert(msg); 
     },//success 
     error: function(xhr, status, error) { 
      var err = eval("(" + xhr.responseText + ")"); 
      alert(err.Message); 
      } 
    });//ajax 
});//submit click 
});//document ready 

И тогда файл prova.php:

<?php /* questionario.php */ ?> 

<?php 

$nome = $_POST['nome']; 
$cognome = $_POST['cognome']; 

echo "nome = " . $nome . " cognome = " . $cognome; 

?> 

Спасибо заранее

ответ

5

У вас есть форма с представить , когда вы нажимаете кнопку отправки, действие по умолчанию должно отправить форму.

Поскольку вы используете запрос ajax, вам необходимо предотвратить отправку формы по умолчанию. Вы можете вызвать event.preventDefault() для этого.

$(document).ready(function() { 
    $("#submit").click(function (e) { 
     //prevent the default form submit 
     e.preventDefault(); 

     //var formData = $("#alcoholic-form").serialize(); 
     var nome = "nico"; 
     var cognome = "basi"; 


     $.ajax({ 
      type: "POST", 
      url: "prova.php", //data manager 
      data: "nome=" + nome + "&cognome=" + cognome, //data to server 
      dataType: "html", //return value format 
      success: function (msg) { 
       $("#risultato").html(msg); 
       alert(msg); 
      }, //success 
      error: function (xhr, status, error) { 
       var err = eval("(" + xhr.responseText + ")"); 
       alert(err.Message); 
      } 
     }); //ajax 
    }); //submit click 
}); //document ready 

Но поскольку у вас есть форма и кнопку отправки, будет лучше обрабатывать представить событие в форме, событие щелчка кнопки

$(document).ready(function() { 
    $("#alcoholic-form").submit(function (e) { 
     //prevent the default form submit 
     e.preventDefault(); 

     //var formData = $("#alcoholic-form").serialize(); 
     var nome = "nico"; 
     var cognome = "basi"; 


     $.ajax({ 
      type: "POST", 
      url: "prova.php", //data manager 
      data: "nome=" + nome + "&cognome=" + cognome, //data to server 
      dataType: "html", //return value format 
      success: function (msg) { 
       $("#risultato").html(msg); 
       alert(msg); 
      }, //success 
      error: function (xhr, status, error) { 
       var err = eval("(" + xhr.responseText + ")"); 
       alert(err.Message); 
      } 
     }); //ajax 
    }); //submit click 
}); //document ready 
+0

Спасибо Арун, но я не могу получить улучшения. Не могу понять это – Trez

+0

@Trez проверить вашу консоль браузера, чтобы узнать, есть ли какая-либо ошибка ... также, когда нажата кнопка отправки, обновляется ли страница –

+0

Так это работает! Спасибо, что вы подтвердили, что я обновил страницу. Я узнал, что провад URL пропущен. – Trez

-1

я думаю, что это с данными ajax

$.ajax({ 
    type: "POST", 
    url: "prova.php", //data manager 
    data: { nome: nome, cognome: cognome}, //data to server 
    dataType: "html", //return value format 
    success:function(msg){ 
     $("#risultato").html(msg); 
     alert(msg); 
    },//success 
    error: function(xhr, status, error) { 
     var err = eval("(" + xhr.responseText + ")"); 
     alert(err.Message); 
     } 
});//ajax 
+0

Спасибо, Мидо, но я попробовал, и это не сработало. – Trez

Смежные вопросы