如果记录存在,Javascript也无法正常工作

时间:2016-07-01 12:02:00

标签: javascript c# asp.net

我有一个js代码,当我添加datatable

时会向我返回doc no个计数

但即使记录存在,它仍然会进入其他部分

以下是代码: -

 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")

1 个答案:

答案 0 :(得分:1)

只需替换

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的代码

了解更多详情 Create an XMLHttpRequest Object