J'essaie de récupérer un objet JSON sur C # voici mon article JavasSciprt mais je ne peux pas le récupérer sur codebehind, merci!
$.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 + '';
}
});
J'ai essayé de récupérer des données comme:
Request.Form["data"]
Request["data"]
Voici un exemple de Encosia.com (j'ai ajouté un paramètre de formulaire). Vous n'avez pas besoin d'accéder à Page.Form
- vous pouvez utiliser des paramètres de méthode à la place.
Codebehind
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);
}
});
});
});
Voici comment j'ai fait et cela a fonctionné pour moi:
$.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 + '';
}
});
Ces deux lignes sont modifiées
data: "data=" + response.data + "&data1=anyothervaluelikethis",
contentType: "application/x-www-form-urlencoded",
La signature de la méthode codebehind C # devrait ressembler à ceci:
[WebInvoke(UriTemplate = "MyMethod", Method = "POST", ResponseFormat = WebMessageFormat.Json)]
public Object MyMethod(Object data){
// your code
}
où Object peut être n'importe quelle classe sérialisable