2010-04-15 61 views
0

是否可以对在ADO.NET数据服务(使用WebInvoke装饰)中定义的服务操作进行POST?将服务操作作为HTTP GET调用没有任何问题。但是,当我切换到POST时,堆栈跟踪一直返回“参数不能为NULL”。我使用下面的jQuery语法,并将POST作为JSON发送(尽管我不包括$ .ajax调用,参数名称完全一致)。可以使用WCF来尝试这一点,而不是ADO.NET数据服务(新重命名为WCF数据服务)。但是,我的首选是首先使用这种方法。我曾尝试过这种方法,但没有使用stringify方法。在线大多数示例仅显示如何将POST用于实体(即用于处理CRUD操作)。但是,在这种情况下,我们正在发布服务操作。在ADO.NET数据服务中执行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(); 
} 

回答