簡體   English   中英

不支持React Native JayData XML DOM解析器

[英]React Native JayData XML DOM parser not supported

我對javascript和react-native還是陌生的,我試圖建立使用oData的客戶端。 通過嘗試執行jayDatas函數initService,我收到以下錯誤消息:

{ 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行代碼:

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;
}

好吧,我已經解決了。 JayData意味着我們正在瀏覽器中,並嘗試將解析器移出窗口,但窗口中沒有解析器。 因此,我只在窗口中設置了DOMParser即可。

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

謝謝!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM