13

C# で JSON オブジェクトを取得しようとしていますが、これは私の JavasSciprt の投稿ですが、分離コードで処理できません。

$.ajax({
    type: "POST",
    url: "facebook/addfriends.aspx",
    data: { "data": response.data },
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: function (msg) {
        location = '/facebook/login?URL=' + ReturnURL + '&UID=' + response.authResponse.userID + '&TK=' + response.authResponse.accessToken + '';
    }
});

次のようなデータを取得しようとしました:

Request.Form["data"]
Request["data"]
4

3 に答える 3

18

Encosia.comの例を次に示します(フォーム パラメータを追加しました)。アクセスする必要はありませんPage.Form。代わりにメソッド パラメーターを使用できます。

コードビハインド

public partial class _Default : Page 
{
  [WebMethod]
  public static string GetDate(string someParameter)
  {
    return DateTime.Now.ToString();
  }
}

Javascript

$(document).ready(function() {
  // Add the page method call as an onclick handler for the div.
  $("#Result").click(function() {
    $.ajax({
      type: "POST",
      url: "Default.aspx/GetDate",
      data: {someParameter: "some value"},
      contentType: "application/json; charset=utf-8",
      dataType: "json",
      success: function(msg) {
        // Replace the div's content with the page method's return.
        $("#Result").text(msg.d);
      }
    });
  });
});
于 2012-05-18T13:37:09.950 に答える
3

これは私がやった方法であり、それは私のために働いた:

$.ajax({
    type: "POST",
    url: "facebook/addfriends.aspx",
    data: "data=" + response.data + "&data1=anyothervaluelikethis",
    contentType: "application/x-www-form-urlencoded",
    dataType: "json",
    success: function (msg) {
        location = '/facebook/login?URL=' + ReturnURL + '&UID=' + response.authResponse.userID + '&TK=' + response.authResponse.accessToken + '';
    }
});

これらの2行は変更されています

 data: "data=" + response.data + "&data1=anyothervaluelikethis",
 contentType: "application/x-www-form-urlencoded",
于 2012-05-18T13:46:56.620 に答える
2

コードビハインド C# メソッド シグネチャは次のようになります。

[WebInvoke(UriTemplate = "MyMethod", Method = "POST", ResponseFormat = WebMessageFormat.Json)]
public Object MyMethod(Object data){
 // your code
}

ここで、オブジェクトはシリアル化可能な任意のクラスにすることができます

于 2012-05-18T13:50:05.597 に答える