Javascript 通过Ajax将json数组发送到ASP.NET

Javascript 通过Ajax将json数组发送到ASP.NET,javascript,c#,jquery,ajax,Javascript,C#,Jquery,Ajax,我尝试通过Ajax将字符串数组发送到ASP.NET中的方法,如下所示: JAVASCRIPT function sendArray(someParam) { var array = []; array[0] = 'first'; array[1] = 'second'; var jsonArray = JSON.stringify(array); $.ajax({ type: 'POST', url: 'Default

我尝试通过Ajax将字符串数组发送到ASP.NET中的方法,如下所示:

JAVASCRIPT

function sendArray(someParam) {
    var array = [];

    array[0] = 'first';
    array[1] = 'second';

    var jsonArray = JSON.stringify(array);

    $.ajax({
        type: 'POST',
        url: 'Default.aspx/SendArray',
        contentType: 'application/json; charset=utf-8',
        dataType: 'json',
        data: '{ "someParam": "someParam", "stringArray": ' + jsonArray + ' }',

        success: function (response) {
            $('#AjaxResult').html('OK');
        },
        error: function (jqXHR, textStatus, errorThrown) {
            $('#AjaxResult').html('<span id="AjaxResultErrorText"><b>There is an error in your request:</b><br />' + errorThrown + '</span>');
        },
        beforeSend: function () {
            $('#AjaxResult').html('<div id="ProgressBar">Loading...</div>');
        },
        complete: function () {
        }
    });
}
在调试程序变量jsonArray中,如下所示:“[“第一”、“第二”]”

但我总是有一个错误,叫做内部服务器错误,我可以找出原因

如果我发送普通字符串或整数,一切正常


有人能解释一下为什么这个使用数组的解决方案不起作用吗?

您可以从ajax以base64字符串的形式发送数组

var jsonArray=btoa(JSON.stringify(数组))

然后您可以从codebehind序列化它


stringArray=Encoding.UTF8.GetString(Convert.FromBase64String(stringArray))

您可以从ajax以base64字符串的形式发送数组

var jsonArray=btoa(JSON.stringify(数组))

然后您可以从codebehind序列化它


stringArray=Encoding.UTF8.GetString(Convert.FromBase64String(stringArray))

如错误消息所示,错误在服务器端。你的AJAX调用看起来不错,请向我们展示你的服务器端代码。你可以发布
SendArray web方法
code我编辑了我的问题,现在有了asp.net方法。你需要接收stirngs数组=(string[]stringArray)Mwell,
“[“first”,“second”]”从技术上讲是一个字符串。如果有错误,那不是ajax错误。正如错误消息所说,错误在服务器端。你的AJAX调用看起来不错,请向我们展示你的服务器端代码。你可以发布
SendArray web方法
code我编辑了我的问题,现在有了asp.net方法。你需要接收stirngs数组=(string[]stringArray)Mwell,
“[“first”,“second”]”从技术上讲是一个字符串。如果有错误,则不是ajax错误。
[WebMethod]
public static void SendArray(string stringArray)
{
    int foo = 1;
}