Я использую JavaScript и C# в aspnet. И я хочу передать 3 значения из страницы Asp в код позади, и для этого я использую метод Json. Вот это, как я делаю:Ошибка при использовании Json on Asp
//initialize x, y and nome
var requestParameter = { 'xx': x, 'yy': y, 'name': nome };
$.ajax({
type: 'POST',
url: 'Canvas.aspx/GetData',
data: requestParameter,
//contentType: "plain/text",
contentType: 'application/json; charset=utf-8',
dataType: 'json',
success: function (data) {
alert(data.x);
},
error: function() { alert("error"); }
});
А затем на C# я сделать:
[WebMethod]
public static string GetData(Object[] output)
{
return output.ToString();
}
По какой-то причине я продолжаю получать предупреждение об «ошибке» (тот, который я определен на метод ajax post). Я хотел бы знать, почему, и как я могу избежать этого. Заранее спасибо
Ваш веб-метод, вероятно, не возвращает действительный JSON. Сделайте 'console.log (arguments)' вместо 'alert (" error ")', и вы увидите точное сообщение в консоли. Скорее всего, это будет «Недопустимый символ». – Tommi
Вам нужно проверить код состояния ответа - используйте Fidder, Firebug или Chrome DevToolbar. Если статус 404 - вы не можете получить доступ к методу (возможно, из-за метода, помеченного как статический). В противном случае обновите код до следующего: error: function (jqXHR, textStatus, errorThrown) { alert (textStatus); alert (errorThrown); } – cycaHuH