私はこのようにjQueryを使用してPageMethod
を呼び出すしようとしています:以下のようにPageMethods、jQueryとJSON
[WebMethod]
public stataic string WebMethod(PostData data)
{
//DO WORK
return "a";
}
PostData
クラスは次のとおりです。
public class PostData
{
public string Guid{get;set;}
public string Action{get;set;}
public string Id{get;set;}
}
私はこのようにjQueryのメソッドを呼び出しています:
$.ajax({
type="POST",
url: 'url',
data: JSON.stringify(b),
contentType: "application/json;charset=utf-8",
dataType: "json",
success: function (msg) {
var t = $(c).html();
$(c).html(t + "<br/>" + $.evalJSON(msg.d));
},
error: function (x, y) {
var t = $(c).html();
$(c).html(t + "<br/>" + $.evalJSON(x.responseText).Message);
}
});
b
は次のようである:{"PostData":{"Guid":"b61dce32-690b-4409-b51a-a6012462e54e","Action":"Testing","Id":"3"}}
私はこのエラーを取得しています:
Invalid web service call, missing value for parameter: 'data'.
私はJSON.stringyfy
を呼び出さない場合、私はこのエラーを取得する:
Invalid JSON primitive: PostData.
私は{"Guid":"b61dce32-690b-4409-b51a-a6012462e54e","Action":"Testing","Id":"3"}
もこれを試してみましたが、まだどちらか
Invalid JSON primitive 'Guid'
または
Invalid web service call, missing value for parameter: 'data'.
私はJSON.stringify
を呼び出すかどうかによって異なります。
私も
、
[WebMethod]
public static string WebMethod(string data)
を試みたが、何のどこを持っていません。
うん、私は愚かな何かをしていることを知っていたが、それを釘付けすることができませんでした。ありがとう@ジェロネ。 – TheVillageIdiot
ありがとう!どのくらい私がjquery.postに "500"というエラーが出ているのかを知るためにどれほどの時間を捜したかは分かりません。私はクライアントから送信していたJSONの中にWebMethod引数を指定する必要はないと考えました。 – dagilleland