Phonegap Ajax发布错误

时间:2015-02-10 14:30:51

标签: jquery ajax cordova post phonegap-build

我一直在寻找解决我正在构建的phonegap应用程序的错误的解决方案。

HTML

<form method="post" id="app-send" name="app-send">
        <input id="a" name="a" type="text">
        <input id="b" name="b" type="text">
        <input id="c" name="c" type="text">
        <input id="timestamp" name="timestamp" type="text">
        <input id="submit" name="submit" type="submit">
    </form>

JS

<script type="text/javascript">
        $(document).ready(function () {
            $('#app-send').submit(function (e) {
                var postData = $(this).serialize();
                $.ajax({
                    type: 'POST',
                    url: 'http://example.com',
                    dataType: 'json',
                    data: postData,
                    success: function (data) {
                        alert(data);
                    },
                    error: function () {
                        alert('error!');
                    }
                });

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

我的问题:

每次我在控制台的phonegap开发者应用程序上测试我都会回来

"Proxy error for url: http://example.com undefined"
"HPE_INVALID_CONTACT http://example.com"

更新

我刚试过这个:

<form action="http://www.example.com" method="post" id="app-send" name="app-send">
    <input id="a" name="a" type="text">
    <input id="b" name="b" type="text">
    <input id="c" name="c" type="text">
    <input id="timestamp" name="timestamp" type="text">
    <input id="submit" name="submit" type="submit">
</form>

这很有效。那么我如何使用AJax提交数据并阻止页面更改?

3 个答案:

答案 0 :(得分:0)

我相信你正在使用jquery mobile的phonegap禁令

您应该将data-ajax="false"添加到表单元素以停止jquery移动默认行为。

答案 1 :(得分:0)

请尝试添加e.preventDefault()以停止默认行为

    $(document).ready(function () {
        $('#app-send').submit(function (e) {
              e.preventDefault();
             //rest of your code
        });
    });

答案 2 :(得分:0)

您似乎需要将服务器IP列入白名单。请查看PhoneGap文档。

https://cordova.apache.org/docs/en/latest/guide/appdev/whitelist/

域名白名单指南。