我使用这个ajax代码将数据汇总到一个文件(参见下文)
$(".editpost").submit(function (e) {
var postData = $(this).serializeArray();
var formURL = $(this).attr("action");
$.ajax({
url: formURL,
type: "POST",
data: postData,
success: function (data, textStatus, jqXHR) {
if (($.trim(data) == "success")) {
} else {
}
},
error: function (jqXHR, textStatus, errorThrown) {
}
});
e.preventDefault(); //STOP default action
});
并且提交的数据将通过switch语句处理(参见下文)
<?php
if (isset($_POST['jkey'])){
$jkey = $_POST['jkey'];
switch ($jkey)
{
case "jsave":
echo "save is working";
break;
case "jadd":
echo "add working";
break;
default:
echo "Shall not waste time, creature!";
}
}
?>
我有这个与ajax数据提交功能绑定的表单
<form action="processor.php" method="post" class="editpost">
<input type="hidden" name="jkey" value="jsave" />
<input type="text" name="inputt" value="input sample" />
<textarea name="textareaa">sample content</textarea>
<button>submit</button>
</form>
你可以从上面的代码看到基础,首先是ajax函数,从表单上的所有字段获取所有值(.editpost)并将其存储在postData变量上,并获取所有数据将在的文件发送然后将其存储在名为formURL的变量上。在processor.php中,post请求jkey存储在变量jkey上,然后将值与switch语句中的case匹配,如果匹配,则在匹配情况下发回指定的内容,例如,因为post请求jkey是jsave然后在switch语句中从jsave case发回“save is working”,当ajax函数收到响应时,它会提醒从processor.php收到的数据但是它没有工作,INSTEAD我收到一个空的警报框或有时警报框包含页面的几个代码。
任何有想法,建议和建议的人都可以参与其中吗?提前谢谢。
答案 0 :(得分:0)
您正在使用表单的类名来提交事件。而是使用输入按钮onclick功能来处理点击事件。