我的HTML页面中有一些<li>
项目,如此
<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时,就像这样。请帮我解决这个问题
答案 0 :(得分:2)
JSON.stringify解决了我的问题。我改变了我的代码
var LiArr=JSON.stringify(order);
PageMethods.GetServerResponse(LiArr, OnSuccess, OnFail);