0

您好,我是 phonegap 的新手。我正在创建一个带有登录验证的 html 文件。我在 php 文件中的验证代码。我在android模拟器上运行。那个时候这个 php 文件不能在模拟器上运行,我该怎么办?

<html>
    <head>
        <meta charset="utf-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1" />
        <title>
        </title>

        <link rel="stylesheet" href="jquery.mobile-1.1.1.min.css" />

        <link rel="stylesheet" href="my.css" />
        <style>
            /* App custom styles */
        </style>
        <script src="jquery.min.js"> </script>
        <script src="jquery.mobile-1.1.1.min.js"> </script>
        <script src="my.js">
        </script>
    </head>
    <body>
        <!-- Home -->
        <div data-role="page" id="page1">
            <div data-role="content" style="padding: 15px">
                <div data-role="fieldcontain">
                <div id="message" style="display: none;"></div>
                    <fieldset data-role="controlgroup">
                        <label for="textinput1">
                            Email:
                        </label>
                        <input name="" id="textinput1" placeholder="" value="" type="text" />
                    </fieldset>
                </div>

<script type="text/javascript">
$(document).ready(function(){
    $('#btnValidate').click(function() {

        $('#message').hide(500);

        $.ajax({
            type : 'POST',
            url : 'http://localhost/JQuery/php',
            dataType : 'json',
            data: {
                email : $('#textinput1').val()
            },
            success : function(data){
                $('#message').removeClass().addClass((data.error === true) ? 'error' : 'success')
                    .text(data.msg).show(500);
            },
            error : function(XMLHttpRequest, textStatus, errorThrown) {

                $('#message').removeClass().addClass('error')
                    .text('There was an error.').show(500);
            }
        });

        return false;
    });
});
</script>

<a data-role="button" data-inline="true"  id="btnValidate" data-transition="fade" href="#page1">Submit</a>
            </div>
        </div>
        <script>
            //App custom javascript
        </script>
    </body>
</html>

这是我的html代码。我在哪里不正确,所以请高大我。

4

3 回答 3

2

在 Android 模拟器中运行 PhoneGap 应用程序时,localhost 和 127.0.0.1 指的是 Android 模拟器环回接口。可以使用IP地址10.0.2.2访问开发机

$.ajax({
    type : 'POST',
    url : 'http://10.0.2.2/JQuery/php',
    dataType : 'json',
    data: {
        email : $('#textinput1').val()
    }...
于 2012-08-17T12:57:46.720 回答
1

您将需要使用系统的 IP 地址(例如 192.168.1.2)或设置虚拟主机来访问您的 php 文件。Android 模拟器作为单独的虚拟机加载,因此您无法访问 localhost 以获取 php 文件。

于 2012-08-17T12:51:08.753 回答
0

为您的系统分配 IP 并使用该 IP 地址 http://183.82.166.97:9696/index.php

我在 httpd.conf 中这样配置

Listen 9696 DocumentRoot "D:/PHPworkspace/HWsite" DirectoryIndex index.php AllowOverride All Allow from All
AllowOverride All Allow from All

于 2013-01-13T01:02:36.467 回答