我想寫用戶名驗證使用jquery,我使用jmsajax plugin.I測試web服務,它工作正常。 我收到錯誤。
Webservice的代碼服務電話通過jquery
[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 serializer,布爾型 throwOnError,Object & convertedObject)\ r \ n在System.Web.Script.Serialization.ObjectConverter.ConvertObjectToTypeMain (Object (System.Web.Script.Serialization.ObjectConverter.ConvertObjectToType(Object o,Type type,JavaScriptSerializer serializer)\ r \ n在System中的\ r \ n)返回類型類型,JavaScriptSerializer序列化程序,布爾throwOnError,Object & convertedObject )。我們b.Script.Serialization.JavaScriptSerializer.Deserialize(JavaScriptSerializer serializer,String input,Type type,Int32 depthLimit)\ r \ n at 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 at System.Web.Script.Services .RestHandler.ExecuteWebServiceCall(HttpContext的上下文中,WebServiceMethodData methodData)」, 「ExceptionType」 : 「System.InvalidOperationException」}
跛腳,我給你的答案兩次,提前24小時提供你接受的答案 – 2009-05-01 12:10:08