#jquery
#jquery
Вопрос:
я получаю XML-данные онлайн с помощью jquery. за получение онлайн-информации я подаю в суд на ph. и я отправляю информацию с помощью функции $ get следующим образом :
var timeObject = {
getNewYorkLocalTime : 'getTime.php?lat=40.7143528amp;lan=-74.0059731',
getLondonLocalTime : 'getTime.php?lat=51.5001524amp;lan=-0.1262362',
getChennaiLocalTime : 'getTime.php?lat=13.060422amp;lan=80.249583',
getBangaloreLocalTime:'getTime.php?lat=12.9715987amp;lan=77.5945627'
}
var i = 0;
for(var x in timeObject){
if(timeObject.hasOwnProperty(x)){
var cityTime = timeObject[x];
$.get(cityTime, function(data) {
var myDate = $(data).find('localtime').text();
var cityId = parseInt($(data).find('latitude').text());
var time = new Date(myDate);
var hours = time.getHours();
var minutes = time.getMinutes();
var seconds = time.getSeconds();
hours = hours > 12 ? hours - 12 : hours;
alert(data);
i ;
var num = i;
showTime (num,cityId,hours,minutes,seconds);
});
}
}
например, в случае, если я сообщу о получении ‘CityId’, myDate, я получаю ответ. но Internet Explorer показывает пустой. кто-нибудь может сказать мне, что не так с моим кодом? или какой-либо способ решить эту проблему?
Примечание: если я предупреждаю только «данные», я получаю XML-информацию.
Ответ №1:
При отправке ответа убедитесь, что вы установили тип содержимого «текст / xml». Известно, что IE игнорирует xml, если тип содержимого установлен неправильно.
Используйте следующее, чтобы определить ваш текущий тип контента. Убедитесь, что это «text / xml»
getResponseHeader("Content-Type")
В вашем php добавьте следующее, прежде чем отправлять ответ.
HttpResponse::setContentType ( "text/xml" );
Добавьте «xml» в качестве типа данных к вашему методу «get» в качестве последнего параметра.
$.get(cityTime, function(data) {
...... //removed other code for ease of readability
}, "xml" );
Прочитайте об этом здесь
http://api.jquery.com/jQuery.get
http://php.net/manual/en/function.httpresponse-setcontenttype.php