我将使用 AJAX 和 PHP 文件来处理 HTML 表单来管理数据,但成功消息或错误消息都不起作用。 我尝试了 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;
?>
提前谢谢
最佳答案
您有一个带有提交按钮的表单,当您单击提交按钮时,默认操作是提交表单。
由于您使用的是 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
关于jQuery $.ajax 不显示任何内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30484574/