2012-01-15 4 views
0

私は、フォーム提出のためにJSONP要求サーバー側を処理しようとしています。ashxでJSONPを読む方法

var myJSONP = new Request.JSONP({ 
     url: 'http://mysite.../handlers/FormHandler.ashx', 
     callbackKey: 'jsoncallback', 
     data: { 
      partTag: 'mtvo', 
      iod: 'hlPrice', 
      viewType: 'json', 
      results: '100', 
      query: 'ipod' 
     }, 
     onRequest: function(url){ 
      // etc 
     }, 
     onComplete: function(data){ 
      // etc 
     } 
    }).send(); 


public class FormHandler : IHttpHandler 
{ 

    public void ProcessRequest(HttpContext context) 
    { 
     string json = ?? 
     JObject j = JObject.Parse(json); 


     context.Response.ContentType = "text/json"; 
     context.Response.Write("Hello World"); 
    } 

私はashx ieでどのようにデシリアライズするのか分かりません。私はJson.Netを使用しますが、コンテキストから取得する方法 個別に値を取得するためにcontext.Requestを使用する必要がありますか、コンテキストから直接デコードすることはできますか?

おかげ

答えて

0

は、私はあなたが使用しているJSONPかわからないけど、MooToolsのRequest.JSONを使用して、データがcontext.Request.Formで配信されています

?context.Request.Form.ToString() 
"partTag=mtvo&iod=hlPrice&viewType=json&results=100&query=ipod" 

だから、コードでフォーム要素のそれぞれにアクセスすることができます。

?context.Request.Form["partTag"] 
"mtvo" 

これに基づいて、フォーム要素を使用してオブジェクトを自分でアセンブルする必要があります。

0

質問に答えるには、はい、Context.Requestを使用してクライアント側からデータを読み取る必要があります。

BTW。独自のHTTPハンドラを実装する代わりにRESTfulなWebサービスを使用することができれば、JSONの直列化と逆直列化がWCFフレームワークによって処理されるRESTfulなWebサービスがはるかに簡単になります。

+0

あなたの助けをよろこぶ – MikeW

関連する問題