关于如何使用XmlHttpRequest对象插入数据库的困惑

时间:2014-01-03 11:07:29

标签: asp.net database xmlhttprequest

每个人。我正在尝试学习如何使用XmlHttpRequest对象并在网上查找一些示例。我在下面找到了这个代码并进行了一些更改。然后创建一个表并添加一个名为“name”的字段“有了值varchar。一切似乎都没问。但是当我提到那个代码时,我注意到没有任何东西插入到数据库中。所以我想知道这个代码中有什么不对或缺少,或者我创建的数据库有什么问题。我没有想法

    <title></title>
    <script type="text/javascript">
        function XmlHttpObj() {
            var xhr = null;
            // Tarayıcımızın ActiveXObject desteği olup olmadığını kontrol ediyoruz.
            // İnternet Explorer'da gerçekleştirmek için Microsoft.XMLHTTP
            try {
                xhr = new ActiveXObject("MsXml2.XMLHTTP");
            }
            catch (e) {
                try {
                    xhr = new ActiveXObject("Microsoft.XMLHTTP");
                }
                catch (e) {
                    if (typeof XMLHttpRequest != "undefined") {
                        xhr = new XMLHttpRequest();
                    }
                }
            }
            return xhr;
        }
        var talep = XmlHttpObj();
        function Listen() {
            if (talep.readyState == 4 && talep.status == 200) {
                var sonuc = talep.responseText;
                if (sonuc != null) {
                    alert("Kayıt Eklendi");
                }
                else {
                    alert("Hata Meydana Geldi");
                }
            }
        }
        //veritabanına ürün ekleme yapacağımız fonksiyon
        //onreadystatechange ile durum değişikliği kontrolü yaptık.
        function Ekle() {
            talep.open("POST", "Webform1.aspx");
            talep.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
            talep.onreadystatechange = Listen;
            talep.send("mail=" + document.all.Text1.value);
        }
</script>
</head>
<body>
    <form id="form1" runat="server">
   <div>
<input id="Text1" type="text" /><br />
<input id="Button1" type="button" value="Ürün Ekle" onclick="Ekle()"/>

这是aspx.cs文件

    if (!string.IsNullOrEmpty(Request.Form["mail"]))
{
    try
    {
        //SqlConnection sqlcon = new SqlConnection("server=.\\sqlexpress;database=northwind;trusted_connection=true");
        //SqlCommand sqlcmd = new SqlCommand("insert into productss (name) values (@ad)", sqlcon);
        //sqlcmd.Parameters.AddWithValue("@ad", Request.Form["mail"]);
        //sqlcon.Open();
        //sqlcmd.ExecuteNonQuery();
        //sqlcon.Close();

    }
    catch (Exception)
    {
        throw;
    }

 }

1 个答案:

答案 0 :(得分:0)

我强烈建议您不要直接使用XmlHttpRequest。它有许多复杂性,很难让它在所有浏览器上运行。我建议使用PageMethods。它可以使用ScriptManager完成,或者更好,使用jQuery。有关后者的好文章,请参阅:Using jQuery to directly call ASP.NET AJAX page methods