如果记录也存在,则Javascript无法按预期工作

本文关键字:工作 Javascript 记录 存在 如果 | 更新日期: 2023-09-27 17:54:19

我有一个js代码,当我添加doc no

时,它返回我一个datatable计数

但是即使记录存在它仍然会进入else部分

下面是代码:-
 function getOtherDBInward() {
        StrPriFnName = "FunGetOTHERDBInward(" + document.getElementById('TxtInwardNo').value + ")";
        var ObjPriXMLHTTP = new ActiveXObject("Microsoft.XMLHTTP")
        ObjPriXMLHTTP.open("GET", "FrmInwardXMLHTTP.aspx?para=" + StrPriFnName, false);
        ObjPriXMLHTTP.send("");
        if ((ObjPriXMLHTTP.responseText) != "") {
            var StrPriData = ObjPriXMLHTTP.responseText.split('~');
            document.getElementById('checkDBMkey').value = StrPriData[0];
            document.getElementById('checkDBMDocNo').value = StrPriData[1];
        }
        else {
            alert("ERROR: Document does not exist");
            return false;
        }
    }

参见函数

public static string FunGetOTHERDBInward(object[] args)
{
    string StrPriRetVal = "";
    DataAccessLayer ObjPriDal = new DataAccessLayer(Providers.ConfigDefined);
    DataTable Dt1 = new DataTable();
    Dt1 = ObjPriDal.ExecuteDataTable("Select mkey, doc_no from erp190516.dbo.inward_doc_tracking_hdr where doc_no='" + args[0].ToString().Trim() + "'");
    if (Dt1.Rows.Count > 0)
    {
        StrPriRetVal += Dt1.Rows[0]["mkey"].ToString().Trim() + "~" + Dt1.Rows[0]["doc_no"].ToString().Trim();
    }
    return StrPriRetVal;
}

注意

我在

行得到未指定的错误
var ObjPriXMLHTTP = new ActiveXObject("Microsoft.XMLHTTP")

如果记录也存在,则Javascript无法按预期工作

直接替换

var ObjPriXMLHTTP = new ActiveXObject("Microsoft.XMLHTTP")

var ObjPriXMLHTTP ;
if(window.XMLHttpRequest)
  ObjPriXMLHTTP = new XMLHttpRequest;
else
  ObjPriXMLHTTP = new ActiveXObject("Microsoft.XMLHTTP");

由于if (window.XMLHttpRequest)检测浏览器是否具有XMLHttpRequest功能,如果是,XMLHttpRequest对象以这种方式构造。即IE7+, Firefox, Chrome, Opera, Safari的代码

否则代码盲目地假设它可以通过调用ActiveXObject函数来创建XMLHttpRequest,即IE

代码

查看详细信息创建XMLHttpRequest对象