私は単純なWebメソッドとajax呼び出しを持ち、文字列をIDictionaryオブジェクトに変換できないというエラーを受け取りますか?ここでjQueryでWebMethodにパラメータを渡すAjax
は、AJAX呼び出しである:ここで
var params = '{"ID":"' + rowid + '"}';
$.ajax({
url: 'EDI.asmx/GetPartnerDetails',
type: "POST",
contentType: "application/json; charset=utf-8",
data: JSON.stringify(params),
dataType: "json", //not json . let me try to parse
success: function(msg, st) { . . . .
はWebMethod属性である:ここでは
<WebMethod()> _
Public Function GetPartnerDetails(ByVal ID As String) As String
'Dim objParam As IDictionary = CType(JsonConvert.DeserializeObject(ID), IDictionary)
'Dim rowID As String = objParam("ID")
Dim objController As New HealthComp.BLL.X12Partners.TradingPartnersController
Dim objInfo As TradingPartnersInfo = objController.FetchByPartnerID(Int32.Parse(ID))
Return JsonConvert.SerializeObject(objInfo)
End Function
は、私は放火犯から見たものである。
レスポンスヘッダ
サーバー:マイクロソフト、IIS /5.1
日付:2009年4月9日21:43:59 GMT
jsonerror:true
キャッシュ制御:専用
コンテンツタイプ:application/json; charset = UTF-8
のContent-Length:1331
POST: "{\" IDの\ ":\" 4 \ "}"
RESPONSE:
{ "メッセージ": "ことができません\ u0027System.String \ u0027のオブジェクトを\ u0027System.Collections .Generic.IDictionary`2 [System.String、System.Object] \ u0027 "、" StackTrace ":" System.Web.Script.Serializationに変換するには .ObjectConverter.ConvertObjectToTypeInternal(Object o、Type型、JavaScriptSerializerシリアライザ、Boolean throwOnError、Object & convertedObject)\ r \ n System.Web.Scri pt.Serialization.ObjectConverter.ConvertObjectToTypeMain (Object o、Type、JavaScriptSerializerシリアライザ、Boolean throwOnError、 )\ r \ n System.Web.Script.Serialization.JavaScriptSerializer.Deserialize(JavaScriptSerializer シリアライザ、文字列入力、型の型、Int32 depthLimit)\ r \ n System.Web.Script.Serialization.JavaScriptSerializer .Deserialize [System.Web.Script.Services.RestHandler.GetRawParamsFromPostRequest]の[T](文字列入力)\ r \ n (HttpContextコンテキスト、JavaScriptSerializerシリアライザ)\ System \ WebService.RestHandlerで\ r \ n .GetRawParams(WebServiceMethodDataメソッドD ATA、のHttpContextコンテキスト)\ rを\ nはSystem.Web.Script.Services .RestHandler.ExecuteWebServiceCall(のHttpContextコンテキスト、WebServiceMethodData methodData)で」、 "ExceptionType" : "System.InvalidOperationExceptionが"}
誰もが任意のアイデアを持っていますこれについて?ありがとう!!
あなたは男です。クリスありがとう!私はこれを追加:var jsonText = JSON.stringify({ID:rowid});あなたの記事を読んだ後。私は引用符でパラメータを渡すことを示した1トンの記事を読んだ。あなたが読んだ最初のものはあなたのものであり、それを説明して固定しました。 Mucho gracias! –
助けてくれてうれしいです。 –