제 애플리케이션에서는 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의 목록입니다 만, 그런 이상한 방법으로 . 나는 다음과 같은 기능을 사용하여 변환 할 수있는 방법을 발견했습니다 //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이 자료 모듈이다
애플리케이션에 appid를 설정할 때 몇 가지 코드를 게시 할 수 있습니까? 또한 요청을 보낼 때받는 응답. – dhavalcengg