• 纠结点


     问题: 使用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;
        }
  • 相关阅读:
    更改sql server数据库所有者的对象
    对C#委托及事件委托的理解
    印度人是怎样开发软件的?
    SQL常用函数
    Ajax学习1
    Ajax学习2
    什么是ORM?
    jQuery 移动网页到制定的位置
    Juery 控件的取值赋值
    js禁用滚动条
  • 原文地址:https://www.cnblogs.com/judy0605/p/2815768.html
Copyright © 2020-2023  润新知