проблема с возвратом данных jquery xml в ie

#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