Несколько идей, чтобы попробовать:
Попробуйте добавить косую черту перед URL-адресом, чтобы он искал службу, начинающуюся с корня:
url: '/UserService.asmx/getNotificationList',
Также попробуйте добавить contentType:
contentType: "application/json; charset=utf-8",
Edit:
Вы используете сериализатор, поэтому верните строку. Убедитесь, что ваш метод статический .
[WebMethod]
public static string getNotificationList(string userID)
{
JavaScriptSerializer js = new JavaScriptSerializer();
return js.Serialize(t.std_notification_get_list(int.Parse(userID))));
}
Важная вещь, которую нужно знать о возврате json из веб-метода, заключается в том, что ответ является оберткой. Ваши фактические данные находятся в объекте d
.
$(response.d).each(
Но , вы вернули JSON строку , поэтому для доступа к данным как к объекту необходимо преобразовать их в объект:
var myData = JSON.parse(response.d);
Тогда вы можете сделать
$(myData).each(
В зависимости от того, как структурированы ваши данные, вам может потребоваться внести некоторые коррективы, например myData[0].duser
или myData[0].Message
.