是否可以POST到ADO.NET数据服务中定义的服务操作(它使用WebInvoke修饰)?我将服务操作作为HTTP GET调用没有问题。但是,当我切换到POST时,堆栈跟踪始终返回“参数不能为NULL”。我正在使用下面的jQuery语法,并将POST作为JSON发送(虽然我不包括$ .ajax调用,参数名称完全排列)。可以尝试使用WCF,而不是ADO.NET数据服务(新重命名为WCF数据服务)。但是,我倾向于首先使用这种方法。我在使用和不使用 stringify 方法时尝试过此操作。大多数在线示例仅显示如何对实体使用POST(即用于处理CRUD操作)。但是,在这种情况下,我们正在POST一个服务操作。
function PostToDataService() {
varType = "POST";
varUrl = "http://dev-server/MyServices/MyService.svc/SampleSO";
varData = { CustomMessage: $("#TextBox1").val() };
varData = JSON.stringify(varData);
varContentType = "application/json; charset=utf-8";
varDataType = "json";
varProcessData = true;
CallService();
}
答案 0 :(得分:0)
根据我的知识,ado.net数据服务对你的方法有一些限制,另外一个,你可以使用get请求传递你的参数,如果你发送巨大的参数你可以用$ batch来克服它。