javascript - 如何使用 ASP.Net 中的 PageMethods 将多维数组从 Javascript 传递到服务器

标签 javascript jquery asp.net webmethod pagemethods

我有一些<li>我的 HTML 页面中的项目如下所示

<li id="A1" class="ui-state-default">Item 2</li>
  <li id="A2" class="ui-state-default">Item 3</li>
  <li id="A3" class="ui-state-default">Item 4</li>
  <li id="A4" class="ui-state-default">Item 5</li>

我使用 Javascript 和 Jquery 调用它来获取 <li> 的 Id 和索引元素

function LiOrder() {
            var order = $('li').map(function (i) {
                return { id: this.id, index: i };
            }).get();

            PageMethods.GetServerResponse(order, OnSuccess, OnFail);
        }

        function OnSuccess(arg) {
            alert(arg);
        }

用Aspx.cs页面编写的WebMethod是这样的

[WebMethod]
    public static string GetServerResponse(string[,] LiOrder)
    {


        return LiOrder[0,0];
    }

但是当我尝试执行它时,我在 Google Chrome(Javascript 控制台)中收到这样的错误

POST http://localhost:2453/ERP29.1.13/Production/LifeCycleRegistration.aspx/GetServerResponse 500 (Internal Server Error) ScriptResource.axd:6979

导致此错误的原因可能是什么。我可以像这样将字符串传递给 WebMethod。但是当涉及到Array时,就这样了。请帮我解决这个问题

最佳答案

JSON.stringify 解决了我的问题。我像这样更改了代码

var LiArr=JSON.stringify(order);
            PageMethods.GetServerResponse(LiArr, OnSuccess, OnFail);

关于javascript - 如何使用 ASP.Net 中的 PageMethods 将多维数组从 Javascript 传递到服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15291347/

相关文章:

javascript - 如何获取整个字符串直到+号长度发生变化?

javascript - 在angularjs中动态应用css

jquery - ajax文件上传

javascript - 在单独的页面中打印 Javascript?

javascript - 提交表单后我的焦点并未从输入中移除

jquery - 从 jQuery 中的 GridView HTML 获取文本以应用 CSS

javascript - 如何只计算有效的 jquery 文件上传?

javascript - 从 JQuery 访问 asp.net 控件的属性

asp.net - 我们可以在按钮单击事件发生后更改分配给 div 的 css 吗?

asp.net - asp :Gridview & asp:Table generated border ="0" property in > . NET4.0