Ошибка HTTPGET при передаче класса сущности C # в json-jquery - PullRequest
0 голосов
/ 02 августа 2010

Вот мой jquery:

$.ajax({
        type: 'GET',
        url: '/services/Service.asmx/FamilyHistory',
        data: JSON.stringify({
            userID: 10,
            historyID: famid
        }),
        contentType: 'application/json; charset=utf-8',
        dataType: 'json',
        success: function(val) {
            var famHist = val.d;
            alert(famHist.ID);
        },
        error: function() {
            parent.$.jGrowl('<b>Failed</b>',
                 {
                     header: 'User Action:',
                     life: 3000
                 });
        }
    });

Мой класс:

public sealed class FamilyHistoryEntity
{
    public string ID { get; set; }
    public string RelativeName { get; set; }
}

Мой веб-сервис:

    [WebMethod(EnableSession = true)]
    [ScriptMethod(ResponseFormat = ResponseFormat.Json, UseHttpGet = true)]
    public FamilyHistoryEntity FamilyHistory(int userID, string historyID)
    {
         return GetFamilyHistory(historyID, userID); // returns a FamilyHistoryEntity class
    }

Проблема в том, что я даже не могу заставить ее сделать точку останова на веб-сервисе, она просто выдает событие jjery ajax об ошибке.

1 Ответ

1 голос
/ 02 августа 2010

Почему вы используете функцию stringify? Может показаться, что он ищет метод со строковым параметром, а не с двумя параметрами, которые есть у вашего метода.

Может быть, я что-то упустил?

РЕДАКТИРОВАТЬ: Таким образом, вы измените свойство данных на:

data: { userID: 10, historyID: famid },

Тем более что вы указали contentType как json.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...