关于jquery:无效的JSON原语ERROR

Invalid JSON primitive ERROR

请帮忙。 在我的ajax调用中获取错误无效的JSON原语,在ajax调用之后这是错误的

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
    $.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);


                }

            });

谢谢


您承诺内容类型application/json但是发送一个普通的JS对象,它被jQuery序列化为百分位编码字符串。 此序列化可能远非有效的JSON。

更改:

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

至:

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


试试,从数据中删除"'",

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

使用单引号分配您的值

错误:

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

对:

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

请按照以下链接进行说明

无效的Json Premitive可能的原因


由于这些线路您正面临问题:

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

首先,您要向应用程序说返回结果将是JSON类型,在第二行中,您说dataType将是HTML。 然后如何返回json数据。

要返回并使用json数据,必须指定dataType:'json'
用这个:

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

Note: you have misspelled the success function so correct that also.