私は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"]
これが 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);
}
});
});
});
これは私がやった方法であり、私にとってはうまくいきました:
$.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",
分離コードC#メソッドシグネチャは次のようになります。
[WebInvoke(UriTemplate = "MyMethod", Method = "POST", ResponseFormat = WebMessageFormat.Json)]
public Object MyMethod(Object data){
// your code
}
ここで、Objectは任意のシリアル化可能なクラスにすることができます