Не удается получить почтовый запрос jQuery для работы в phonegap - PullRequest
4 голосов
/ 22 ноября 2011

Я пытаюсь отправить некоторые формоданные на удаленный сервер в phonegap, используя jQuery и Ajax. Код, который я вставил ниже, прекрасно работает в Firefox на моей локальной машине, но он не работает, когда я запускаю его на своем телефоне (Android). Нужно ли что-то изменить или добавить в код jquery, чтобы он работал в телефонной пробке?

Я добавил разрешение ИНТЕРНЕТ в манифесте Android.

<!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>

Спасибо!

Ответы [ 2 ]

5 голосов
/ 07 февраля 2012

Убедитесь, что у вас есть необходимые разрешения в вашем приложении.

Добавьте

<uses-permission android:name="android.permission.INTERNET" />

К AndroidManifest.xml и добавьте

<access origin="*"/>

to / res / xml / phonegap.xml

0 голосов
/ 23 ноября 2011

После того, как код работает в устройстве / эмуляторе Android, вы можете использовать функцию ajax из jquery-1.4.2.js .

<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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...