XMLHttp";开放式;新Cordova版本出错

XMLHttp";开放式;新Cordova版本出错,cordova,sharepoint,xmlhttprequest,visual-studio-cordova,cordova-4,Cordova,Sharepoint,Xmlhttprequest,Visual Studio Cordova,Cordova 4,我正在尝试连接到Sharepoint 2013服务器以获取一些列表等。 我有以下HTML代码,可以从中获取用户名/密码/Sharepoint URL: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta charset="utf-8" /> <me

我正在尝试连接到Sharepoint 2013服务器以获取一些列表等。 我有以下HTML代码,可以从中获取用户名/密码/Sharepoint URL:

<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta charset="utf-8" />

    <meta http-equiv="Content-Security-Policy" content="default-src 'self' 'unsafe-inline' data: gap: https://ssl.gstatic.com 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *" />
    <title>SP Manager</title>

    <!-- Some Stylesheets -->

    <!-- Cordova-Scripts -->
    <script src="cordova.js"></script>
    <script src="scripts/platformOverrides.js"></script>
    <!-- Onsen-UI Scripts -->
    <script src="lib/angular/angular.js"></script>
    <script src="lib/onsenui/js/onsenui.js"></script>
    <!-- Zing Chart -->
    <script src="lib/zingchart_trial/zingchart.min.js"></script>
    <script src="scripts/ChartJS/control.js"></script>
    <script src="scripts/ChartJS/chart.js"></script>
    <!-- Standard Scripts -->
    <script src="lib/jquery/dist/jquery.js"></script>
    <script src="scripts/Page JS/index.js"></script>
    <script src="../scripts/SharepointJS/sharepoint.js"></script>
    <script src="scripts/TimeJS/scripte.js"></script>

    <script>
        ons.bootstrap();    //Call für OnsenUI-Init
    </script>
</head>
<body>
    <ons-navigator id="navigator" title="Navigator" var="loginNavigator">
        <ons-page var="pagecontent" >
            <div style="width:100%;" id="logoLogin">
                <img src="Images/logo.png" style="height: 100%;"/>
            </div>
            <div class="login-form">
                <input id="sharepoint" type="text" class="text-input--underbar" placeholder="Sharepoint" style="" onclick="changeSharepointURL(true)" readonly="readonly">
                <input id="username" type="text" class="text-input--underbar" placeholder="Benutzername" value="agile\shau" style="" onclick="clearInput('#username')">
                <input id="password" type="password" class="text-input--underbar" placeholder="Passwort" value="Start@123" style="" onclick="clearInput('#password')">
                <br>
                <ons-button id="LoginButton" onclick="sharepointLogin()" class="login-button">Einloggen</ons-button>
                <br /><br />
                <ons-button class="forgot-password" onclick="SP.loginOffline()">Offline Anmelden</ons-button>

                <ons-button onclick="resetURL()">Reset URL</ons-button>
            </div>
            <div id="errorMessageLogin" style="color:red; text-align:center;">
            </div>
        </ons-page>
    </ons-navigator>
</body>
</html>
这段代码适用于旧版本的Cordova(我想我的同事们正在使用版本3)

现在,如果我尝试从VS2015和Cordova版本4启动内置Android emulator的应用程序,我会遇到以下错误:

Refused to connect to 'my SP adress' because it violates the following Content Security Policy directive: "default-src 'self' 'unsafe-inline' data: gap: https://ssl.gstatic.com 'unsafe-eval'". Note that 'connect-src' was not explicitly set, so 'default-src' is used as a fallback.
sharepoint.js (111,17)

Uncaught SecurityError: Failed to execute 'open' on 'XMLHttpRequest': Refused to connect to 'my SP adress' because it violates the document's Content Security Policy.
sharepoint.js (111,17)
我已经读到我需要cordova的白名单插件来执行请求。我已经将它添加到项目中(使用VS)以及config.xml中的这段代码

<?xml version="1.0" encoding="utf-8"?>
<widget xmlns:cdv="http://cordova.apache.org/ns/1.0" xmlns:vs="http://schemas.microsoft.com/appx/2014/htmlapps" id="io.cordova.myappd6b043" version="1.0.0" xmlns="http://www.w3.org/ns/widgets" defaultlocale="de-DE">
  <name>SP Manager</name>
  <description>A blank project that uses Apache Cordova to help you build an app that targets multiple mobile platforms: Android, iOS, Windows, and Windows Phone.</description>
  <author href="http://cordova.io" email="dev@cordova.apache.org">Apache Cordova Team </author>
  <content src="index.html" />
  <access origin="*" />

  <!-- #################ADDED THIS LINE############## -->
  <allow-intent href="https://my SP adress/*" />

  <vs:features />
  <preference name="SplashScreen" value="screen" />
  <preference name="windows-target-version" value="8.1" />
  <!-- Support for Cordova 5.0.0 plugin system -->
  <plugin name="cordova-plugin-whitelist" version="1" />
  <allow-intent href="http://*/*" />
  <allow-intent href="https://*/*" />
  <allow-intent href="tel:*" />
  <allow-intent href="sms:*" />
  <allow-intent href="mailto:*" />
  <allow-intent href="geo:*" />
  <platform name="android">
    <allow-intent href="market:*" />
  </platform>
  <platform name="ios">
    <allow-intent href="itms:*" />
    <allow-intent href="itms-apps:*" />
  </platform>
  <!-- some icon sources -->
  <vs:plugin name="cordova-plugin-whitelist" version="1.2.0" />
</widget>

SP管理器
一个空白项目,使用Apache Cordova帮助您构建一个针对多个移动平台的应用程序:Android、iOS、Windows和Windows Phone。
阿帕奇科尔多瓦团队
但它仍然不起作用

编辑:我的伴侣在VS2015中更新了他的cordova,它的工作没有任何问题。。。我很困惑。。。
即使重新安装也不起作用…

也许你可以让你的内容安全警察更宽容一些。我用这个:

<meta http-equiv="Content-Security-Policy" content="default-src 'self' * gap://ready; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval' *; media-src *"/>


我试过了,现在又遇到了一些其他错误<代码>XMLHttpRequest无法加载我的SP地址。对飞行前请求的响应未通过访问控制检查:请求的资源上不存在“访问控制允许来源”标头。起源'http://localhost:4400因此,不允许访问。响应的HTTP状态代码为401。sharepoint.js(117,17)您是否尝试对您的内容安全策略元标记进行完整的注释?只是想看看这是否是你的问题的根源。是的,但是我得到的错误与Filipe Pinto(访问控制允许来源)的另一个元标记相同。
<meta http-equiv="Content-Security-Policy" content="default-src 'self' * gap://ready; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline' 'unsafe-eval' *; media-src *"/>