问题: 使用jQuery提交内容到后台处理,然后得到返回的JSON数据,根据返回值的不同,前台进行不同处理。
1 最初版:最初采用jQuery.getJSON的方式,本质是GET提交,遇到提交内容很长的时候,Get拼接的QueryString超长,导致长内容无法提交成功。
View Code
function Checksubmit() { if (isrepeater == 0) { CheckGetType(); CheckStar1(); CheckStar2(); CheckStar3(); checkhousedescription(); if (booltype && booldes && boolstar1 && boolstar2 && boolstar3) { isrepeater = 1; var interface = GetUrl(jQuery("#AgentCity").val(), jQuery("#IsNorth").val()); var url = interface + "?jsoncallback=?&ServiceWay=" + jQuery("#ServiceWay").val() + "&HouseInfoAccuracy=" + jQuery("#HouseInfoAccuracy").val() + "&ServiceAttitude=" + jQuery("#ServiceAttitude").val() + "&Professional=" + jQuery("#Professional").val() + "&EntranceContent=" + escape(jQuery("#EntranceContent").val()) + "&EvaluationUserID=" + jQuery("#EvaluationUserID").val() + "&EvaluationUserName=" + escape(jQuery("#EvaluationUserName").val()) + "&EvaluationName=" + escape(jQuery("#EvaluationName").val()) + "&EvaluationMobile=" + jQuery("#EvaluationMobile").val() + "&EvaluationIP=" + jQuery("#EvaluationIP").val() + "&EvaluationEntrance=" + jQuery("#EvaluationEntrance").val() + "&AgentID=" + jQuery("#AgentID").val() + "&AgentName=" + escape(jQuery("#AgentName").val()) + "&AgentCompanyName=" + escape(jQuery("#AgentCompanyName").val()) + "&AgentCity=" + escape(jQuery("#AgentCity").val()) + "&AgentMobile=" + jQuery("#AgentTel").val() + "&HouseID=" + jQuery("#HouseID").val() + "&purpose=" + escape(jQuery("#purpose").val()) + "&HouseType=" + jQuery("#HouseType").val() + "&usertype=" + jQuery("#UserType").val() + "&ee=" + jQuery("#ee").val() + "&ef=" + jQuery("#ef").val() + "&et=" + jQuery("#et").val() + "&eu=" + jQuery("#eu").val() + "&zc=" + jQuery("#zc").val() + "&zd=" + jQuery("#zd").val() + "&zr=" + jQuery("#zr").val() + "&zs=" + jQuery("#zs").val(); jQuery.getJSON(url, function (data) { if (data.Resposn == 100) { jErpPopup("网友评价", '/agent/help/pingjiayes.aspx?source=0&jjrmanagername=' + jQuery("#jjrmanagername").val(), 415, 90, function () { }); } else if (data.Resposn == 003) { isrepeater = 0, alert("提交的数据中含有非法信息!"); } else { isrepeater = 0, alert("很抱歉,系统异常,评价失败!"); } }); } else { return false; } } else { return; } }
2 后改进采用JQuery.post方式提交,IE下ok,FF下post之后,返回空,导致直接跳出js。然后就开始纠结。
View Code
var isrepeater = 0; function Checksubmit() { if (isrepeater == 0) { CheckGetType(); CheckStar1(); CheckStar2(); CheckStar3(); checkhousedescription(); if (booltype && booldes && boolstar1 && boolstar2 && boolstar3) { isrepeater = 1; var interface = GetUrl(jQuery("#AgentCity").val(), jQuery("#IsNorth").val()); var parastr = { "ServiceWay": jQuery("#ServiceWay").val(), "HouseInfoAccuracy": jQuery("#HouseInfoAccuracy").val(), "ServiceAttitude": jQuery("#ServiceAttitude").val(), "Professional": jQuery("#Professional").val(), "EntranceContent": escape(jQuery("#EntranceContent").val()), "EvaluationUserID": jQuery("#EvaluationUserID").val(), "EvaluationUserName": escape(jQuery("#EvaluationUserName").val()),"EvaluationName": escape(jQuery("#EvaluationName").val()), "EvaluationMobile": jQuery("#EvaluationMobile").val(), "EvaluationIP": jQuery("#EvaluationIP").val(), "EvaluationEntrance": jQuery("#EvaluationEntrance").val(), "AgentID": jQuery("#AgentID").val(), "AgentName": escape(jQuery("#AgentName").val()), "AgentCompanyName": escape(jQuery("#AgentCompanyName").val()), "AgentCity": escape(jQuery("#AgentCity").val()), "AgentMobile": jQuery("#AgentTel").val(), "HouseID": jQuery("#HouseID").val(), "purpose": escape(jQuery("#purpose").val()), "HouseType": jQuery("#HouseType").val(), "usertype": jQuery("#UserType").val(), "ee": jQuery("#ee").val(), "ef": jQuery("#ef").val(), "et": jQuery("#et").val(), "eu": jQuery("#eu").val(), "zc": jQuery("#zc").val(), "zd": jQuery("#zd").val(), "zr": jQuery("#zr").val(), "zs": jQuery("#zs").val(),"r":Math.random() }; jQuery.post(interface, parastr, function (data) { data = eval(data); if (data.Resposn == 100) { window.document.popups['jjrpjdiv'].close(); jQuery('#jjrpjdiv').html(''); jErpPopup("网友评价", '/agent/help/pingjiayes.aspx?source=1&jjrmanagername=' + jQuery("#jjrmanagername").val(), 415, 90, function () { }); } else if (data.Resposn == 003) { isrepeater = 0, alert("提交的数据中含有非法信息!"); } else { isrepeater = 0, alert("很抱歉,系统异常,评价失败!"); } }); } else { return false; } } else { return; } } function CheckAllInfoforagent() { if (isrepeater == 0) { CheckGetType(); CheckStar1(); CheckStar2(); CheckStar3(); checkhousedescription(); if (booltype && booldes && boolstar1 && boolstar2 && boolstar3) { isrepeater = 1; var interface = GetUrl(jQuery("#AgentCity").val(), jQuery("#IsNorth").val()); var parastr = "?jsoncallback=?&ServiceWay=" + jQuery("#ServiceWay").val() + "&HouseInfoAccuracy=" + jQuery("#HouseInfoAccuracy").val() + "&ServiceAttitude=" + jQuery("#ServiceAttitude").val() + "&Professional=" + jQuery("#Professional").val() + "&EntranceContent=" + escape(jQuery("#EntranceContent").val()) + "&EvaluationUserID=" + jQuery("#EvaluationUserID").val() + "&EvaluationUserName=" + escape(jQuery("#EvaluationUserName").val()) + "&EvaluationName=" + escape(jQuery("#EvaluationName").val()) + "&EvaluationMobile=" + jQuery("#EvaluationMobile").val() + "&EvaluationIP=" + jQuery("#EvaluationIP").val() + "&EvaluationEntrance=" + jQuery("#EvaluationEntrance").val() + "&AgentID=" + jQuery("#AgentID").val() + "&AgentName=" + escape(jQuery("#AgentName").val()) + "&AgentCompanyName=" + escape(jQuery("#AgentCompanyName").val()) + "&AgentCity=" + escape(jQuery("#AgentCity").val()) + "&AgentMobile=" + jQuery("#AgentTel").val() + "&HouseID=" + jQuery("#HouseID").val() + "&purpose=" + escape(jQuery("#purpose").val()) + "&HouseType=" + jQuery("#HouseType").val() + "&usertype=" + jQuery("#UserType").val()+"&ee="+jQuery("#ee").val() +"&ef="+ jQuery("#ef").val()+"&et="+jQuery("#et").val()+"&eu="+jQuery("#eu").val() +"&zc="+jQuery("#zc").val()+"&zd="+jQuery("#zd").val()+"&zr="+ jQuery("#zr").val()+"&zs="+jQuery("#zs").val()+"&r="+Math.random(); jQuery.ajax({ type: "POST", url: interface, data: parastr, cache: false, dataType: "JSON", success: function (msg) { msg = eval(msg); alert(msg.Resposn); if (msg.Resposn == 100) { jErpPopup("网友评价", '/agent/help/pingjiayes.aspx?source=0&jjrmanagername=' + jQuery("#jjrmanagername").val(), 415, 90, function () { }); } else if (msg.Resposn == 003) { isrepeater = 0, alert("提交的数据中含有非法信息!"); } else { isrepeater = 0, alert("很抱歉,系统异常,评价失败!"); } }, error: function (e) { alert(e); } }) } else { return false; } } else { return; }