我正在用apachecordova开发一个应用程序,但每次我向局域网上的服务器发出ajax请求时,我都会收到这个错误


Im developing an app with apache cordova but i keep getting this error everytime i make an ajax request to a server on my LAN network

XMLHttpRequest无法加载http://192.168.15.8/App/app_server.php请求的资源上不存在"Access Control Allow Origin"标头。因此,不允许访问源"null"。

我已经检查了很多教程,我似乎无法解决,我正在通过的方式测试我的浏览器

这是我的index.html文件,以防它有助于

http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.

-->

本地通信*https://ssl.gstatic.com仅在安卓系统上需要,TalkBack才能正常工作*禁止使用内联脚本以降低XSS漏洞的风险。要对此进行更改,请执行以下操作:*启用内联JS:将"不安全的内联"添加到默认src-->

<meta name="format-detection" content="telephone=no">
<meta name="msapplication-tap-highlight" content="no">
<meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width">
<link rel="stylesheet" type="text/css" href="css/index.css">
<link href="ratchet/css/ratchet.css" rel="stylesheet">
<link href="css/ionic.css" rel="stylesheet">
<link href="css/pageslider.css" rel="stylesheet">
<title>SuppChain</title>

<script id="login" type="text/template">
    <div class="padding">
        <div class="padding">
            <p style="text-align:center"><img src="img/suppchain_logo.png"></p>
            <div style="text-align:center;" id="login_response"></div>
            <div class="list list-inset">
                <label class="item item-input">
                    <input id="given_email" type="text" placeholder="First  Name">
                </label>
                <label class="item item-input">
                    <input id="given_password" type="text" placeholder="Last Name">
                </label>
            </div>
            <button id="login_button" class="button button-block button-positive">
                Sign In</button>
            <br>
            <p style="text-align:center">If You Dont Have an Account Yet Please
                <a href="/signup">Register</a></p>
            <br>
            <div id="spinner" style="text-align:center;display:none;"><img    src="img/spinner.gif" /></div>
        </div>
    </div>
</script>
<script id="supplier_dashboard_orders" class="slider_content" type="text/template">
    {{supplier_name}} {{supplier_email}}{{supplier_id}}
    <ul class="list">
        <li class="item">
            sljd/jdisjdoijdosjdopjsdpj
            <br> sklsdndlsknldnsdnklsdnlknd
        </li>
    </ul>
</script>
<script id="supplier_dashboard_clients" class="slider_content"     type="text/template">
    <div class="bar bar-header">
        <button class="button button-icon icon ion-navicon"></button>
        <div class="h1 title">Header Buttons</div>
        <button class="button button-clear button-positive">Edit</button>
    </div>
     <div class="content">Clients Page{{id}} {{name}}{{email}}{{password}}            </div>
    <nav class="bar bar-tab">
        <a class="tab-item " href="#orders">
            <span class="icon icon-home"></span>
            <span class="tab-label">Orders</span>
        </a>
        <a class="tab-item active" href="#clients">
            <span class="icon icon-person"></span>
            <span class="tab-label">Clients</span>
        </a>
        <a class="tab-item" href="#">
            <span class="icon icon-star-filled"></span>
            <span class="tab-label">Reports</span>
        </a>
        <a class="tab-item" href="#">
            <span class="icon icon-search"></span>
            <span class="tab-label">Inventory</span>
        </a>
        <a class="tab-item" href="#">
            <span class="icon icon-gear"></span>
            <span class="tab-label">Settings</span>
        </a>
    </nav>
</script>
<script src="js/lib/jquery.js"></script>
<script src="cordova.js"></script>
<script src="js/lib/fastclick.js"></script>
<script src="js/lib/handlebars.js"></script>
<script src="js/lib/pageslider.js"></script>
<script src="js/lib/router.js"></script>
<script src="js/services/get_server.js"></script>
<script src="js/lib/ionic.js"></script>
<script src="js/app.js"></script>
</body>
</html>

以下是关于CORS问题的更多信息:MDN HTTP访问控制(CORS)

我还注意到你正在使用Ionic框架。这是您自定义的设置还是使用了生成器?

如果你使用生成器,Ionic可以为你的应用程序文件提供服务,并附带代理功能:Ionic Framework:在浏览器中测试

您需要将后端地址添加到代理中,您的CORS问题应该在不更改浏览器安全设置的情况下得到解决。

您也可以使用NodeJS创建此设置。Ionic使用NodeJS插件来创建这个开发环境。