无效的JSON原语ERROR

时间:2013-07-26 05:54:47

标签: jquery ajax

请帮助。在我的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);


                }

            });

由于

3 个答案:

答案 0 :(得分:61)

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

变化:

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

为:

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

答案 1 :(得分:4)

尝试,从数据中删除“'”,

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" }'
});

请按照以下链接进行说明

Invalid Json Premitive Possible Reason

答案 2 :(得分:1)

由于这些问题,您正面临问题:

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

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

要返回并使用json数据,您必须指定dataType:'json'。 使用此:

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

注意:你拼错了成功函数,所以也正确。