javascript - ASP.Net C# 不接收 ajax 数据
问题描述
大家好,我是 asp.net 的新手,我正在学习它作为 C#.NET。我正在使用 post 方法创建一个 ajax 请求,但是 C# 代码没有检测到我发送的数据来接收它们,这里是我的 ajax 请求代码:
var email = document.getElementById( "Email" ).value;
var pass = document.getElementById( "Password" ).value;
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function () {
if ( this.readyState === 4 && this.status === 200 ) {
if ( this.responseText === "Your Email address or password was incorrect." ) {
document.getElementById( "error" ).innerHTML = this.responseText;
var span = document.getElementsByClassName( "errors" );
var input = document.getElementsByTagName( "input" );
var i;
for ( i = 0; i < span.length; i++ ) {
span[i].classList.add( "required" );
}
for ( i = 0; i < input.length; i++ ) {
input[i].value = "";
}
} else {
document.getElementById( "response" ).innerHTML = this.responseText;
}
}
};
xmlhttp.open( "POST", "asp/PostTest.aspx", false );
xmlhttp.setRequestHeader( "content-type", "application/x-www-form-urlencoded" );
xmlhttp.send( "email=" + email + "&pass=" + pass );
这是我接收数据的 C#.NET 代码:
if ( HttpContext.Current.Request.HttpMethod == "POST" ) {
if ( Request.QueryString [ "email" ] != null && Request.QueryString [ "pass" ] != null ) {
sql += "@EMAIL = '" + Request.QueryString [ "email" ].ToString ( ) +
"' , @U_PASSWORD = '" + Request.QueryString [ "pass" ].ToString ( ) + "';";
SqlCommand sqlCommand = conn.CreateCommand ( );
sqlCommand.CommandType = CommandType.Text;
sqlCommand.CommandText = sql;
sqlCommand.ExecuteNonQuery ( );
DataTable dataTable = new DataTable ( );
SqlDataAdapter sqlDataAdapter = new SqlDataAdapter ( sqlCommand );
sqlDataAdapter.Fill ( dataTable );
responseText = "<table>" +
"<tr><td>Id</td><td>Email</td></tr>";
foreach ( DataRow dataRow in dataTable.Rows ) {
responseText += "<tr><td>" + dataRow [ "id" ].ToString ( ) +
"</td><td>" + dataRow [ "email" ].ToString ( ) + "</td></tr>";
}
responseText += "</table>";
//SqlCommand sqlCommand = new SqlCommand ( sql , conn );
//SqlDataReader sqlDataReader = sqlCommand.ExecuteReader ( );
//while ( sqlDataReader.Read ( ) ) {
// responseText = "" + sqlDataReader.GetString ( sqlDataReader.GetOrdinal ( "email" ) ) +
// " " + sqlDataReader.GetString ( sqlDataReader.GetOrdinal ( "u_password" ) );
//}
} else {
responseText = "No Date received"
}
} else {
responseText = "No request received";
}
} catch ( Exception exp ) {
Response.Write ( exp.Message );
}
Response.Write ( responseText );
注意:我总是收到“没有收到日期”的消息
解决方案
推荐阅读
- angular - 单击删除文本选择时的 Angular HostListener
- docker - 消费者没有收到来自 Kafka 的消息
- amazon-web-services - AppSync 批量更新项目?
- svg - SVG 在浏览器中生成白线
- java - 将值返回到另一个类并存储
- scala - 来自 hive 表的数据帧以迭代每个元素以进行某些操作并写入 df,rdd,list
- apache-spark - Kubernetes 上的火花。Kubernetes 中如何维护状态的火花性质?
- angular - 无法分配给引用或变量!角 6
- dart - AssetImage 和 Image.asset 有什么区别 - Flutter
- java - 使用按钮 Java Swing 启动动画