ボタンのクリックでフォームからデータを取得し、それをコード ビハインドの Web メソッドに送信しようとしています。JSONオブジェクトとして渡したいのですが、少なくともそれが慣習だと思いますか? これが私の現在のコードですが、エラーが発生します(コードの下に表示)。
$("#addTask")
.click(function( event ) {
var newTask = new Object();
newTask.TaskName = $('#ctl00_ContentArea_taskName').val();
newTask.TaskDescription = $('#ctl00_ContentArea_taskDescription').val();
newTask.SQLObjectID = $('#ctl00_ContentArea_sqlReportingID').val();
newTask.WarehouseSQLObjectID = $('#ctl00_ContentArea_warehouseSQLObjectID').val();
$.ajax({
type: "POST",
url: 'AddTask.aspx/validateTask',
data: JSON.stringify(newTask),
contentType: "application/json; charset=utf-8",
dataType: "json",
async: false,
success : function(data) {
alert( data.d );
}
});
});
__
{"Message":"Invalid web service call, missing value for parameter: \u0027newTask\u0027.","StackTrace":" at System.Web.Script.Services.WebServiceMethodData.CallMethod(Object target, IDictionary`2 parameters)\r\n at System.Web.Script.Services.WebServiceMethodData.CallMethodFromRawParams(Object target, IDictionary`2 parameters)\r\n at System.Web.Script.Services.RestHandler.InvokeMethod(HttpContext context, WebServiceMethodData methodData, IDictionary`2 rawParams)\r\n at System.Web.Script.Services.RestHandler.ExecuteWebServiceCall(HttpContext context, WebServiceMethodData methodData)","ExceptionType":"System.InvalidOperationException"}
私は、次のようなさまざまな方法で Web メソッドを使用しようとしましたが、これらに限定されません。
<System.Web.Services.WebMethod()> _
Public Shared Function validateTask(ByVal newTask As TaskBO)
または、一連の個々のパラメーターを文字列として使用します。
私がやろうとしていることを達成する正しい方法は何ですか? JSON オブジェクトの書式設定について理解できないことは何ですか?
ご協力いただきありがとうございます!