2017-01-04 7 views
0

javascript에 대한 새로운 기능과 네이티브 반응 및 oData를 사용하는 클라이언트를 작성하려고합니다.React 네이티브 JayData XML DOM 파서가 지원되지 않습니다.

{ message: 'XML DOM parser not supported', 
    srcText: '', 
    errorXmlText: '', 
    request: 
    { requestUri: 'https://my322506.sapbydesign.com/sap/byd/odata/cust/v1/demoapp/$metadata', 
    method: 'GET', 
    headers: 
     { Authorization: 'Basic Y2dyOjF6M2k3bU05', 
     Accept: 'application/xml', 
     'OData-MaxVersion': '4.0' }, 
    recognizeDates: false, 
    callbackParameterName: '$callback', 
    formatQueryString: '$format=json', 
    enableJsonpCallback: false, 
    async: true }, 
    response: 
{ requestUri: 'https://my322506.sapbydesign.com/sap/byd/odata/cust/v1/demoapp/$metadata', 
    statusCode: 200, 
    statusText: undefined, 
    headers: 
     [ 'c4c-odata-response-time': '691 ms', 
     dataserviceversion: '1.0', 
     'Content-Type': 'application/xml' ], 

... 
Possible Unhandled Promise Rejection (id: 0): 
XML DOM parser not supported` 

내 코드 :

jayData 
    .initService('https://my322506.sapbydesign.com/sap/byd/odata/cust/v1/demoapp/', credentials) 
    .then(function (remoteDB, contextFactory, contexType) { 
    console.log('HELLO'); 
    }); 

오류가 파일에서 제공 jaydata-odatajs \ lib 디렉토리 \ xml.js 라인 (190) 코드 jayDatas 기능 initService을 실행하려고하면 나는 다음과 같은 오류 메시지를 받았습니다 :

function xmlParse(text) { 
var domParser = undefined; 
if (utils.inBrowser()) { 
    domParser = window.DOMParser && new window.DOMParser(); 
} else { 
    domParser = new (require('xmldom').DOMParser)(); 
} 
var dom; 

if (!domParser) { 
    dom = msXmlParse(text); 
    if (!dom) { 
     xmlThrowParserError("XML DOM parser not supported0"); 
    } 
    return dom; 
} 

답변

0

좋아요. JayData는 브라우저에 있고 파서를 창 밖으로 가져 오려고하지만 창에는 파서가 없습니다. 그래서 그냥 DOMParser 창을 설정하고 작동합니다.

export default class AwesomeProject extends Component { 
    constructor(props) 
    { 
     super(props); 
     window.DOMParser = require('xmldom').DOMParser; 

고마워요!