Я попытался разобрать следующий json-ответ как с JQuery getJSON, так и с ajax:
[{"iId":"1","heading":"Management Services","body":"<h1>Program Overview</h1><h1>January 29, 2009</h1>"}]
Я также попытался убежать от символов "/" следующим образом:
[{"iId":"1","heading":"Management Services","body":"<h1>Program Overview <\/h1><h1>January 29, 2009<\/h1>"}]
Когда я использую getJSON, его доза не выполняет обратный вызов. Итак, я попробовал JQuery ajax следующим образом:
$.ajax({
url: jURL,
contentType: "application/json; charset=utf-8",
dataType: "json",
beforeSend: function(x) {
if(x && x.overrideMimeType) {
x.overrideMimeType("application/j-son;charset=UTF-8");
}
},
success: function(data){
wId = data.iId;
$("#txtHeading").val(data.heading);
$("#txtBody").val(data.body);
$("#add").slideUp("slow");
$("#edit").slideDown("slow");
},//success
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert("XMLHttpRequest="+XMLHttpRequest.responseText+"\ntextStatus="+textStatus+"\nerrorThrown="+errorThrown);
}
});
Ajax выводит сообщение об ошибке и предупреждает следующее:
XMLHttpRequest=[{"iId":"1","heading":"Management Services","body":"<h1>Program Overview </h1><h1>January 29, 2009</h1>"}]
textStatus=parseerror
errorThrown=undefined
Затем я попробовал простой вызов JQuery get, чтобы вернуть JSON, используя следующий код:
$.get(jURL,function(data){
var json = eval("("+data+");");
wId = json.iId;
$("#txtHeading").val(json.heading);
$("#txtBody").val(json.body);
$("#add").slideUp("slow");
$("#edit").slideDown("slow");
})
.get возвращает JSON, но eval создает ошибки независимо от того, как я изменил JSON (заголовок типа контента, другие варианты формата и т.д.).
То, что я придумал, заключается в том, что, похоже, проблема с возвратом HTML в JSON и его анализом. Однако я надеюсь, что, возможно, я пропустил что-то, что позволило бы мне получить эти данные через JSON. У кого-нибудь есть идеи?