Подтвердить что ты не робот

Неверная примитивная ошибка JSON

Пожалуйста, помогите. В моем вызове ajax получение ошибки Недействительный примитив JSON, что не так с этим следующим вызовом ajax

    $.ajax({
                url: "/Precedent/ShowPartyContents", type: "POST",
                contentType: 'application/json; charset=utf-8',
                dataType: 'html',
                data:{'partyId':party,'PartySelCombo':valueFrom,'DocumentId':DocId},
                sucess:function(result){
                    alert("String"+ result);
                    //jq("#PartyTagContentArea-"+ pass cheyyenda id).html(data).fadeIn();
                },
                error : function( ts ){ 
                    alert("error :(" + ts.responseText);


                }

            });

Спасибо

4b9b3361

Ответ 1

Вы обещаете тип контента application/json, но отправляете простой JS-объект, который с помощью jQuery сериализуется как строка с процентилем. Эта сериализация может быть далека от действительной JSON.

Изменить:

data: {'partyId':party,'PartySelCombo':valueFrom,'DocumentId':DocId},

в

data: JSON.stringify({'partyId':party,'PartySelCombo':valueFrom,'DocumentId':DocId}),

Ответ 2

Попробуйте, удалите "" из данных,

data:{partyId:party,PartySelCombo:valueFrom,DocumentId:DocId}

Используйте одиночную кавычку, чтобы присвоить свои значения, например

Неправильно:

$.ajax({
  type: 'POST',
  contentType: 'application/json',
  dataType: 'json',
  url: 'WebService.asmx/Hello',
  data: { FirstName: "Dave", LastName: "Ward" }
});

Справа:

$.ajax({
  type: 'POST',
  contentType: 'application/json',
  dataType: 'json',
  url: 'WebService.asmx/Hello',
  data: '{ FirstName: "Dave", LastName: "Ward" }'
});

Ниже приведены ссылки для пояснений

Недопустимый прецедент Json Возможная причина

Ответ 3

Вы столкнулись с проблемой из-за этих строк:

contentType: 'application/json; charset=utf-8',
dataType: 'html',

сначала вы говорите приложению, что результатом возврата будет тип JSON, а во второй строке вы говорите, что dataType будет HTML. Тогда как можно вернуть данные json.

Чтобы вернуть и использовать данные json, вы должны указать dataType:'json'. Используйте это:

contentType: 'application/json; charset=utf-8',
dataType: 'json',

Примечание: у вас также неправильно написана функция успеха.