2012-08-08 89 views
0

我的網站使用ajax和.Net webmethods。僅在某些客戶端上無效的Web服務呼叫

一切工作正常本地和99%的客戶。但有幾個客戶端不斷收到此錯誤:「無效的Web服務調用,缺少參數值:\ u0027elementid \ u0027」。

錯誤似乎在早上更頻繁,所有發生此錯誤的客戶都在同一棟建築物中。我嘗試了很多不同的解決方案,但通常在調用webmethod時根本不適用。我在想這個問題可能在上述建築物的網絡中。

的Javascript:

function queryDbForMeldingen() { 
     //Get items from db and use the result to fill the page 
     SendAjax("FindMeldingen", formatMeldingConstraints(), formatMeldingTabel); 
    } 

    function formatMeldingConstraints() { 
     /*code omitted for clarity*/ 
     var constraints = { 
      itemsonpage: parseInt(aantalItems), 
      pagenr: parseInt(currentPage), 
      orderby: orderby, 
      orderdirection: orderdirection, 
      elementid: $('#<%= ddlElementen.ClientID %>_ddlElementen').val(), 
      filiaalid: $('#<%= ddlFiliaal.ClientID %>_ddlVestiging').val(), 
      statusid: $('#<%= ddlStatus.ClientID %>_ddlEnum').val(), 
      prioriteitid: $('#<%= ddlPrioriteit.ClientID %>_ddlPrioriteiten').val(), 
      uitvoerderid: $('#<%= ddlUitvoerder.ClientID %>_ddlLeveranciers').val(), 
      extraid: $('#<%= ddlExtra.ClientID %>_ddlEnum').val(), 
      toonid: $('#<%= ddlMeldingToon.ClientID %>_ddlEnum').val(), 
      datefrom: $('#<%= tb_date_from.ClientID %>').val(), 
      dateto: $('#<%= tb_date_to.ClientID %>').val(), 
      trefwoord: $('#<%= tb_keyword.ClientID %>').val() 
     }; 

     return JSON.stringify(constraints); 
    } 

C#:

[WebMethod] 
public List<Melding> FindMeldingen(int itemsonpage, int pagenr, string orderby, string orderdirection, 
    int elementid, int filiaalid, int statusid, int prioriteitid, int uitvoerderid, int extraid, 
    int toonid, string datefrom, string dateto, string trefwoord) 

我可能是愚蠢的,失去了一些東西很簡單。

由於提前,

疫病

回答

0

好像$( '#<%= ddlElementen.ClientID%> _ ddlElementen')。VAL()沒有返回你所期望的價值。你爲什麼不嘗試給它一個默認值? $('#<%= ddlElementen.ClientID%> _ ddlElementen')。val()|| '缺少elementid'

然後您會看到您是否在服務器請求中找到elementid默認值。

是否將所有其他值發送到服務器?