我正在尝试使用 jQuery 和 Ajax 将一些表单数据发送到 phonegap 中的远程服务器。我在下面粘贴的代码在我本地机器上的 Firefox 中运行良好,但是当我在我的手机 (android) 上启动它时它不起作用。我是否需要修改或添加一些东西到 jquery 代码以使其在 phonegap 中工作?

我在 android manifest 中添加了 INTERNET 权限。

<!DOCTYPE HTML>
<html>
    <head>
        <title>Phonegap ajax test</title>

        <meta name="viewport" content="width=240, height=320, user-scalable=yes, initial-scale=2.5, maximum-scale=5.0, minimum-scale=1.0" />
        <script type="text/javascript" charset="utf-8" src="phonegap-1.1.0.js"></script>
        <script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
        <script type="text/javascript" charset="utf-8" src="js/jquery.mobile-1.0rc2.js"></script>

        <link rel="stylesheet" type="text/css" href="css/layout.css" />
        <link rel="stylesheet" type="text/css" href="js/jquery.mobile-1.0rc2.css" />

        <script type="text/javascript">
            $(document).ready(function() {
                $('#infoForm').submit(function() {
                    var postTo = 'http://www.mysite.com/process.php';

                    $.post(postTo,$('#infoForm').serialize(), function(data) {
                        alert(data);
                    });
                    return false;
                });

            });
        </script>
    </head>

    <body>
        <div data-role="content">
            <form method="post" id="infoForm">
                <input type="text" name="first_name" id="first_name" value="" placeholder="First Name"  />
                <input type="text" name="last_name" id="last_name" value="" placeholder="Last Name"  />
                <input type="text" name="email" id="email" value="" placeholder="Email"  />
                <button type="submit">Submit</button>
            </form>
        </div><!-- /content -->
    </body>
</html>

谢谢!

最佳答案

以下代码在 Android 设备/模拟器中工作,您可以使用 jquery-1.4.2.js 中的 ajax 函数。

<html>
<head>
<script src="js/jquery-1.4.2.js" type="text/javascript" charset="utf-8"></script>
<script src="js/jquery-1.4.2.min.js" type="text/javascript"></script>
<script>
function bodyload(){
    alert("We are calling jquery's ajax function with the post type request");
$.ajax({
    url:'http://www.edumobile.org/blog/uploads/XML-parsing-data/Data.xml',
    dataType:'application/xml',
    timeout:10000,
    type:'POST',
    success:function(data) {
       alert(data);
     },
    error:function(XMLHttpRequest,textStatus, errorThrown) {
      alert("Error status :"+textStatus);
      alert("Error type :"+errorThrown);
      alert("Error message :"+XMLHttpRequest.responseXML);
    }
    });
}
</script>
</head>
<body onload="bodyload()">
<button onclick="bodyload()">Ajax call</button>
</body>
</html>

关于jquery - 无法让 jQuery 发布请求在 phonegap 中工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8230321/

10-12 00:40
查看更多