jQuery 1.7.1、$.ajax、Javascript、JSON、および ASP.NET を使用していますが、いくつか問題があります。フォームを ASP.NET PageMethod に送信するときに、すべてのフォーム フィールドがシリアル化されていないか空であるとは限りません。コードをデバッグしても何も問題はありません。
このようなフォームをjavascriptで送信します
function SaveFormData() {
var fields = $("form").serializeArray();
var myData = { 'projectId': projectId, 'fields': fields };
myData = JSON.stringify(myData);
$.ajax({
type: "POST",
url: "/w2/AspNetPage.aspx/SaveForm",
contentType: "application/json; charset=utf-8",
timeout: (1000 * 60 * 10),
data: (myData),
dataType: "json",
success: function () {
alert('done');
},
error: function () {
alert('error');
}
});
}
私の AspNetPage.aspx には、webmethod SaveForm が含まれています。
[WebMethod]
public static string SaveForm(int projectId, field[] fields) {
// do the processing here
}
フォームデータを読み取って処理するために、javascript/JSON と ASP.NET の間でシリアル化するために必要なクラス フィールドを使用しています。
public class field {
public string name { get; set; }
public string value { get; set; }
}
私の問題は、すべてのフォームフィールドが投稿されていないか、空である場合があることです。デバッグしても問題が見つからないので、これで私を助けてくれるかもしれません。フォームには数百を超えるフォーム フィールドがある場合があることに注意してください。
また、現在使用しているコードがスレッドセーフであるかどうかも疑問に思っていました。おそらく、フォームデータを現在とは異なる方法で処理する必要があります。
助けてください