0

我看过很多关于这个错误的帖子,解释了 JSON 问题。我只是有一个调用网络方法的经典网络表单。我在一个表单中有一堆单选按钮和 2 个下拉菜单。一旦我检查了一个单选按钮和两个下拉菜单,我必须单击Build template按钮来填充表单(基本上是带有收件人、抄送、主题字段等的电子邮件表单)

当我选择第一个单选按钮然后选择下拉菜单时,我得到了所需的结果。但是,当我选择任何其他返回数据的单选按钮时,我会收到此循环引用错误。最后一个单选按钮不返回数据,因此不会引发序列化错误。

这是调用页面方法的javascript

function HandleIT() {
    var ServiceID = document.getElementById("<%=ddServiceList.ClientID%>").value;
    var Status;

    // #code to set the drop downs to 1,2,3,4,5 on 'checked'# removed

    PageMethods.FindAllRecipient(ServiceID, Status, onSucess, onError);

    function onSucess(result) {
        document.getElementById("<%=txtTo.ClientID%>").value = result[0];
        document.getElementById("<%=txtCC.ClientID%>").value = result[1];
    }

    function onError(result) {
        alert('Something wrong.');
    }
}

这是服务器方法中的代码:

[WebMethod]
public static object[] FindAllRecipient(string serviceID, string currentStatus)
{
    RemoteObj1 = new ServiceEmailer();
    Object[] results = RemoteObj1.FindAllRecipients(
        Convert.ToInt16(serviceID),
        Convert.ToInt16(currentStatus));

    return results;
}

该代码在服务器方法中运行良好。所以那里没有问题。正如错误所说的那样,问题出在序列化和返回结果时。

4

0 回答 0