Я пытаюсь написать подтверждение имени пользователя с помощью jquery, я использую плагин jmsajax. Я протестировал веб-сервис, он работает нормально.
Я получаю ошибку.
Код веб-сервиса
[System.Web.Script.Services.ScriptMethod(ResponseFormat = ResponseFormat.Json)]
[WebMethod]
public bool check_username(string uname)
{
DBMOdelDataContext db = new DBMOdelDataContext();
var q = from p in db.users
where p.username == uname
select p;
if (q.Count() == 0)
return false;
else
return true;
}
Код запроса.
$(document).ready(function() {
$(".unamebtn").blur(function() {
$uname = $(this).val();
$.jmsajax({
type: "POST",
url: "Services/MyServices.asmx",
data:"{userName='" + $uname + "'}",
method: "check_username",
dataType: "msjson",
success: function(result) {
$("#msg").html(result);
alert(result);
$("#msg").addClass("notice");
}
});
});
});
Исключение, которое он бросает.
{"Message": "Невозможно преобразовать объект типа \ u0027System.String \ u0027 в тип \ u0027System.Collections
.Generic.IDictionary`2 [System.String, System.Object] \ u0027 "," StackTrace ":" в System.Web.Script.Serialization
.ObjectConverter.ConvertObjectToTypeInternal (Объект o, Тип типа, Сериализатор JavaScriptSerializer, Логическое значение
throwOnError, Object & convertObject) \ r \ n в System.Web.Script.Serialization.ObjectConverter.ConvertObjectToTypeMain
(Объект o, Тип type, Сериализатор JavaScriptSerializer, Логический throwOnError, Объект & convertObject
) \ r \ n в System.Web.Script.Serialization.ObjectConverter.ConvertObjectToType (Object o, Type type, JavaScriptSerializer
serializer) \ r \ n в System.Web.Script.Serialization.JavaScriptSerializer.Deserialize (JavaScriptSerializer
сериализатор, строковый ввод, тип Type, Int32 deepLimit) \ r \ n в System.Web.Script.Serialization.JavaScriptSerializer
.Deserialize [T] (String input) \ r \ n в System.Web.Script.Services.RestHandler.GetRawParamsFromPostRequest
(Контекст HttpContext, сериализатор JavaScriptSerializer) \ r \ n на System.Web.Script.Services.RestHandler
.GetRawParams (метод WebServiceMethodData methodData, контекст HttpContext) \ r \ n в System.Web.Script.Services
.RestHandler.ExecuteWebServiceCall (контекст HttpContext, метод WebServiceMethodData methodData) "," ExceptionType "
: "System.InvalidOperationException"}