【发布时间】:2009-04-27 11:22:19
【问题描述】:
我正在尝试使用 jquery 编写用户名验证,我正在使用 jmsajax 插件。我已经测试了 web 服务,它工作正常。
我遇到了错误。
网络服务代码
[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;
}
jQuery 代码。
$(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(Object o, Type type, JavaScriptSerializer 序列化器, Boolean
在 System.Web.Script.Serialization.ObjectConverter.ConvertObjectToTypeMain 处的 throwOnError, Object& convertObject)\r\n
(Object o, Type type, JavaScriptSerializer 序列化器, Boolean throwOnError, Object&convertedObject
)\r\n 在 System.Web.Script.Serialization.ObjectConverter.ConvertObjectToType(Object o, Type type, JavaScriptSerializer
序列化程序)\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(WebServiceMethodData methodData, HttpContext context)\r\n 在 System.Web.Script.Services
.RestHandler.ExecuteWebServiceCall(HttpContext context, WebServiceMethodData methodData)","ExceptionType"
:"System.InvalidOperationException"}
【问题讨论】:
-
跛脚,我给了你两次答案,比你接受的答案提前 24 小时