ajax提交url与ajax提交表单的详细比较
1:ajax自已构造一个url,这种方式传参数要用data,不能用于表单提交。
例:
function createhtml(id){
$("#reloading").show();
//edit_bg是个div,提交时显示,这样可以使背景页面不能操作。
$("#edit_bg").show();
$.ajax({
type: "post",
url: "pageaction!createhtml.action",
data: "id="+id,
success: function(data){
$("#reloading").hide();
$("#edit_bg").hide();
if(data == "true"){
alert("操作成功。");
}else{
alert("操作失败,请联系管理员!");
}
} //操作成功后的操作
});
}
2:ajax提交表单,这对于大数据传输非常有用,如用户注册,信息量非常大,用ajax提交表单,页面比较美观 但是,对于ajax提交表单,我们还得引入一个js,即:jquery.form.js"
例:
function uploadfile(){
$("#reloading").show();
$("#edit_bg").show();
//form1为表单名
$("#form1").ajaxsubmit({
type: "post",
success: function(data){
$("#reloading").hide();
$("#edit_bg").hide();
if(data.indexof("true")!=-1){
alert("操作成功。");
}else{
alert(data);
alert("操作失败,请联系管理员!");
}
} //操作成功后的操作
});
}
3: 2项中ajax提交表单虽然可以正确操作,但返回的data数据有问题,页面得不到处理结果。如下的代码对ajax提交表单进行了纠正
function submitform(){
$('#form1').ajaxsubmit(ajaxoptionsnew);
}
var ajaxoptionsnew = {
beforesubmit : fn_check_form,
success : showresponse,
url : "costation!save2.action",
error : function(xmlresponse) {
alert(xmlresponse.responsetext);
alert('操作失败!');
// window.location.reload();
}
};
function fn_check_form(){
if($("#name").val() == ""){
alert("人不能为空");
$("#name").focus();
return false;
}
}
function showresponse(responsetext) {
try{
//alert(responsetext);
if(responsetext == 'true'){
alert('操作成功!');
window.location.reload();
}
else if(responsetext == 'paramfalse')
{
alert("必填参数不能为空!")
}
else if(responsetext == 'timeerror')
{
alert("出发时间不能大于报销时间!");
}
else{
alert('操作失败!');
// window.location.reload();
}
}catch(e){alert(e.message);}
}