По какой-то причине эта программа AJAX не принимает мой объект json.Бэкэнд не принимает мой объект JSON
У меня есть файл mdf, к которому обращается registerdb, что я уверен, что это правильно.
Имеет 3 столбца: идентификаторы, имя пользователя и пароль, заполненные данными.
Любая помощь будет оценена по достоинству.
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$("#<%= btn.ClientID %>").click(function() {
var User = $("#<%= txtuser.ClientID %>").val();
var Pass = $("#<%= txtpass.ClientID %>").val();
var data = "{ Username: " + User + ", Password: " + Pass + " }"
var json1 = JSON.stringify(data);
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "Default.aspx/Login",
data: json1,
dataType: "json",
success: function (result) {
$("#<%= txtid.ClientID %>").val(result.d);
},
error: function (Msg) {
$("#<%= lblError.ClientID %>").text('failed:' + Msg.status + ':' + Msg.responseText);
}
}); return false;
});
});
</script>
Default.aspx.cs
[System.Web.Services.WebMethod]
public static string Login(string Username,string Password)
{
string ids="";
string connStr = ConfigurationManager.ConnectionStrings["registerdb"].ConnectionString;
string cmdStr = "SELECT [ids] FROM [register] WHERE [username][email protected] AND [password][email protected];";
try
{
using (SqlConnection conn = new SqlConnection(connStr))
{
using (SqlCommand cmd = new SqlCommand(cmdStr, conn))
{
conn.Open();
cmd.Parameters.AddWithValue("@username", Username);
cmd.Parameters.AddWithValue("@password", Password);
using (SqlDataReader rdr = cmd.ExecuteReader())
{
if (rdr.Read())
{
ids = rdr[0].ToString();
}
}
if (ids == "") { ids = "No Match"; };
conn.Close();
cmd.Dispose();
conn.Dispose();
}
}
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}
return ids;
}
Код ошибки:
не удалось: 500: { "Сообщение": "Не удается преобразовать объект типа \ u0027System.String \ u0027 к type \ u0027System.Collections.Generic.IDictionary`2 [System.String, System.Object] \ u0027 "," StackTrace ":" в System.Web.Script.Serialization.ObjectConverter.ConvertObjectToTypeInternal (Object o, Тип типа, JavaScriptSerializer serializer , Boolean throwOnError, Object \ u0026 convertObject) \ r \ n в System.Web.Script.Serialization.ObjectConverter.ConvertObjectToTypeMain (Object o, Тип типа, JavaScriptSerializer serializer, Boolean throwOnError, Object \ u0026 convertObject) \ r \ n в System.Web.Script.Serialization.JavaScriptSerializer. Deserialize (сериализатор JavaScriptSerializer, ввод строки, тип типа, Int32 depthLimit) \ r \ n в System.Web.Script.Serialization.JavaScriptSerializer.Deserialize [T] (ввод строки) \ r \ n в System.Web.Script.Services. RestHandler.GetRawParamsFromPostRequest (контекст HttpContext, сериализатор JavaScriptSerializer) \ r \ n в System.Web.Script.Services.RestHandler.GetRawParams (метод WebServiceMethodDataData, контекст HttpContext) \ r \ n в System.Web.Script.Services.RestHandler.ExecuteWebServiceCall (HttpContext, WebServiceMethodData methodData) "," ExceptionType ":" System.InvalidOperationException "}