每个人。我正在尝试学习如何使用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;
}
}
答案 0 :(得分:0)
我强烈建议您不要直接使用XmlHttpRequest
。它有许多复杂性,很难让它在所有浏览器上运行。我建议使用PageMethods。它可以使用ScriptManager
完成,或者更好,使用jQuery。有关后者的好文章,请参阅:Using jQuery to directly call ASP.NET AJAX page methods