0

제 애플리케이션에서는 Restriction과 $ http를 사용하여 서버 API와 통신합니다.IE9는 Restriction에서 CharCodes의 줄로 JSON 응답을받습니다.

먼저 요청 (그림의 한 /BasicInfo.json)을 (APPID) 사용되는 응용 프로그램의 일부에 수 포인터 또한 사용자 이름과 같은 초기 정보를 검색 Restangular를 사용하여 수행하고있다. 다른 요청은이 데이터를 추가 호출에 사용하며, 일반 $ http 서비스를 사용하여 완료됩니다.

하지만 특별히 IE9에서

I는 다음과 같이, 문자의 문자열로 해결 응답을 (안> = IE10, I는 html5shiv있다)

이유는 데이터의 첫번째 부분은 처리되지이다
[123,23,45,98,143,...] 

제대로 호출하고 다른 호출을 해결할 수 없습니다 - 그림의 URL에서 "정의되지 않음"을 참조하십시오. 두 번째 및 후속 통화에서는 URL을 구성하기위한 패턴을 따르십시오.

//baseURL and docId - are available, while appId is not 
$http.get(baseURL + '/api/' + appId + '/Subjects/' + docId + '.json') 
.success(function(data){ deferred.resolve(data); 
.. 
이 줄은 실제로 올바른 서버 응답을 포함하는 char의 목록입니다 만, 그런 이상한 방법으로

requests in the app

. 나는 다음과 같은 기능을 사용하여 변환 할 수있는 방법을 발견했습니다

//numbersLine is that actual line [123,23,45,98,143,...] 
    var str = '', 
    convertedArray = Array(numbersLine)[0]; 

for (var i = 0; i < convertedArray.length; i++) { 
    str = str + String.fromCharCode(convertedArray[i]); 
} 

return str; 

하지만 난 이것 때문에 IE9 이상한 행동, API 데이터 처리 응용 프로그램에서 사방이 변환을 수행해야합니다. 내가 무엇을 확인/변경할 수 있는지에 대한 조언은 매우 감사하겠습니다.

는 [UPD]

이는 아이디어를 제공 희망 모듈 설치

define([ 
    'angular', 
    './modulename', 
    'app/base/base-module', 
//module definition via RequireJS 

angular.module('app.modulename').config(
     ['$stateProvider', '$BasicProvider', 
      function ($stateProvider, $BasicProvider) { 

     $stateProvider.state('***', { 
        url: '***', 
        views : { 
         /// 
        }, 
        resolve : { 
         //here should get POJO with appid 
         resolvedBasicInfo : ["$Basic", function($Basic){ 
          return $Basic.getBasicInfo(); 
         }], 
//later goest two other calls that require this appid 

그리고 그 자체가

define([ 
    'angular', 
    'restangular', 
    //other configs 

], function(angular, Restangular) { 

    'use strict'; 

    return angular.module('effactsApp.base').provider('$Basic', function(){ 

     return { 
      $get : ['Restangular', 'baseApiService', //other configs 
       function (Restangular, baseApiService) { 
// 

        if(!basicInfoRestCall){ 
         basicInfoRestCall = Restangular.one('BasicInfo'); 
        } 

@dhavalcengg 전화 Restangular이 자료 모듈이다

+0

애플리케이션에 appid를 설정할 때 몇 가지 코드를 게시 할 수 있습니까? 또한 요청을 보낼 때받는 응답. – dhavalcengg

답변

0

r에 대한 헤더를 설정하려고 시도 했습니까? $ http 헤더의 응답은 입니다. 콘텐츠 유형 : application/json; charset = utf-8?

documentation for $http

+0

$ http는 Restangular 및 $ http 서비스를 통해 수행됩니다. * 다른 모든 브라우저, IE11 및 IE10에서도 작동하므로 설정이 정확합니다. – shershen

0

때때로 나는 내 경우에 무슨 일이 있었 직접 문제를 발견했습니다 https://github.com/mozilla/pdf.js/issues/5429

이 정확히 내가 가진 조건입니다 :

  • PDF.js + compatibility.js
  • AngularJS + Router + AJAX 통화
  • IE9

XHR 요청으로 인해 잘못된 방식으로 데이터를로드하려고했습니다.

관련 문제