При попытке ПОЛУЧИТЬ JSON, моя функция обратного вызова НЕ стреляет.
$.ajax({
type:"GET",
dataType:'json',
url: myLocalURL,
data: myData,
success: function(returned_data) {
alert('success');
}
});
Самая странная часть этого то, что:
Есть ли что-нибудь, что я пропускаю? РАЗВЕ IE7 не обрабатывает определенные символы, структуры данных (мои данные ничего не имеют неалфавитно-цифровым, но это ДЕЙСТВИТЕЛЬНО имеет вложенный JSONs)? Я использовал тонны других вызовов Ajax что вся работа (даже в IE7), но за исключением ЭТОГО вызова.
Возврат данных в качестве примера здесь: (это - структурно полный пример, означая, что он только пропускает несколько вторых уровневых полей, но следует за этой точной иерархией),
{"question":{
"question_id":"19",
"question_text":"testing",
"other_crap":"none"
},
"timestamp":{
"response":"answer",
"response_text":"the text here"
}
}
Я полностью в недоумении. Надо надеяться, у кого-то есть некоторое понимание, что идет... на спасибо!
РЕДАКТИРОВАНИЕ Здесь является копией САМОГО ПРОСТОГО случая фиктивных данных, которые я использую..., это все еще не работает в IE7.
{
"question":{
"question_id":"20",
"question_text":"testing :",
"adverse_party":"none",
"juris":"California",
"recipients":"Carl Chan"
}
}
Я начинаю сомневаться, что это - проблема JSON..., но я понятия не имею, чем еще это могло быть. Вот некоторые другие ресурсы, что я нашел, что это могло быть причиной, но они, кажется, не работают также: http://firelitdesign.blogspot.com/2009/07/jquerys-getjson.html (Django использует Unicode по умолчанию, таким образом, я не думаю, что это вызывает его),
У кого-либо есть какие-либо другие идеи?
Приведенный вами пример данных выглядит нормально, но у меня все еще сильное подозрение, что где-то есть незакрытая запятая, как здесь:
"timestamp":{
"response":"answer",
"response_text":"the text here"
}, <------------
}
IE - единственный браузер, который (правильно) спотыкается на этом.
Если это не так, можете ли вы показать полную выборку данных (или подтвердить, что пример, который вы показываете, действительно является полной выборкой)?
.Вы уже исключили возможность проблемы с кешированием?
например. вы тестировали IE7, когда myLocalURL
вернул недопустимый json. IE7 по-прежнему кэширует этот ответ и поэтому не работает. Попробуйте добавить что-то вроде этого (например, если php) в myLocalURL
или сделайте myLocalURL
похожим на myLocalURL? Random = 123
только для проверки, чтобы убедиться, что это не так. вещь кеширования
header("Cache-Control: no-cache, must-revalidate");
header("Expires: 0");
Вы возвращаете правильный заголовок типа содержимого? например
header("Content-Type: application/json");