2013-06-19 101 views
0

我想打电话给使用$阿贾克斯()JSON格式的服务器端方法和传递价值,但我得到这个错误:当我硬编码值未能通过JSON对象

{"Message":"Invalid web service call, missing value for parameter: \u0027obj\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"} 

&尝试发送,然后多数民众赞成纠正..但无法通过JSON对象。

客户端代码

<script type="text/javascript"> 

function DailyReportFn() { 

    debugger; 
    var RadTabStrip1 = $find("<%= RadTabStrip1.ClientID %>"); 
    var tab = RadTabStrip1.findTabByText("Qualified Families"); 
    var RadPageView1 = tab.get_pageView() 
    var elment = RadPageView1.get_element(); 


    var DailyReport = { 

     NewReg: $find("<%= NewReg.ClientID %>").get_textBoxValue(), 
     Removed: $find('<%= Removed.ClientID %>').get_textBoxValue(), 
     Homevt: $find('<%= Homev.ClientID %>').get_textBoxValue() 
    } 



    $.ajax({ 
     type: "POST", 
     url: '<%=ResolveUrl("~/DModules/Hc/WebMethods.aspx/DemoReport")%>', 
     data: JSON.stringify(DailyReport), 
     contentType: "application/json", 
     dataType: "json", 
     async: false, 
     cache: false, 
     success: function (data) { 
      debugger; 
      alert(data); 
     }, 
     error: function (x, e) { 
      alert(x.responseText); 
     }, 

    }); 
} 

服务器端代码

[WebMethod, ScriptMethod] 
public static int DemoReport(Drep report) 
{ 
    int result = -1; 

    int NewReg = report.NewReg; 
    int Removed = report.Removed; 
    int Homev = report.Homevt; 

    return result; 
} 
+0

? –

回答

0

什么JavaScript库,您使用的是有`$ find`试试这个

data: JSON.stringify({report:DailyReport}), 
0

之前你做了后,尝试检查JSON.stringify(DailyReport)第一的价值。

var DailyReport = { 
    NewReg: $find("<%= NewReg.ClientID %>").get_textBoxValue(), 
    Removed: $find('<%= Removed.ClientID %>').get_textBoxValue(), 
    Homevt: $find('<%= Homev.ClientID %>').get_textBoxValue() 
} 
console.info(JSON.stringify(DailyReport));//OR: alert(JSON.stringify(DailyReport)); 

$.ajax({... 
+0

检查它..它也显示错误 – Johan

+0

Plz打印它显示我们的价值。 – Anderson