仅在某些客户端上无效的Web服务调用

时间:2012-08-08 14:09:13

标签: javascript ajax webmethod

我的网站使用了ajax和.Net webmethods。

本地和99%的客户都能正常工作。但是有一些客户端不断收到此错误:“无效的Web服务调用,缺少参数值:\ u0027elementid \ u0027”。

错误似乎在早晨更频繁,所有收到此错误的客户都在同一栋楼内。我尝试了很多不同的解决方案,但它们通常适用于对web方法的调用根本不起作用的情况。我认为这个问题可能出现在所说建筑物的网络中。

使用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)

我可能很傻,而且很遗憾。

提前致谢,

疫病

1 个答案:

答案 0 :(得分:0)

好像是$('#&lt;%= ddlElementen.ClientID%&gt; _ddlElementen')。val()没有返回你期望的值。你为什么不尝试给它一个默认值? $('#&lt;%= ddlElementen.ClientID%&gt; _ddlElementen')。val()|| '缺少elementid'

然后,您将看到是否在服务器请求中找到了elementid默认值。

是否所有其他值都发送到服务器?