【发布时间】:2016-03-10 09:00:01
【问题描述】:
我尝试通过 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 () {
}
});
}
ASP.NET
[WebMethod]
public static void SendArray(string stringArray)
{
int foo = 1;
}
在调试器变量 jsonArray 中看起来像这样:"["first","second"]"
但我总是遇到一个称为内部服务器错误的错误,我可以找出原因。
如果我发送普通字符串或整数,一切正常。
谁能解释一下为什么这个带有数组的解决方案不起作用?
【问题讨论】:
-
正如错误消息所说,错误在服务器端。您的 AJAX 调用看起来不错,请向我们展示您的服务器端代码
-
可以发
SendArray web method代码 -
我编辑了我的问题,现在有了 asp.net 方法。
-
你需要接收数组stirngs = (string[] stringArray)
-
Mwell,
"["first","second"]"在技术上是一个字符串。如果有错误,则不是ajax错误。
标签: javascript c# jquery ajax