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

Invalid web service call only on certain clients

本文关键字:Web 服务 调用 无效 客户端      更新时间:2023-09-26

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

在本地和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)

我可能很傻,错过了一些非常简单的东西。

提前感谢,

枯萎病

似乎 $('#<%= ddlElementen.ClientID %>_ddlElementen').val() 没有返回您期望的值。为什么不尝试给它一个默认值呢?$('#<%= ddlElementen.ClientID %>_ddlElementen').val() ||"缺少元素"

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

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