请帮助。在我的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);
}
});
由于
答案 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" }'
});
请按照以下链接进行说明
答案 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',
注意:你拼错了成功函数,所以也正确。