我有一些<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/