Phonegap / AJAX / Codeigniter - Ajax帖子无效

时间:2016-08-03 14:12:39

标签: javascript jquery ajax codeigniter cordova

我正在尝试将数据从表单发布到我在线主机上部署的Web服务器中的codeigniter控制器。当我在笔记本电脑上使用它时,它可以正常工作,但是在我build.phonegap.com中构建它并将其安装到我的手机中之后,它无法正常工作。这是index.html文件中的代码:

使用Javascript:

function sendMessage(){
            //get values from the form
            var msgFrom = $('#msgFrom').val();
            var msgTo = $('#msgTo').val();
            var msg = $('#msg').val();

            //works up to here only after building on build.phonegap.com
            $.ajax({
                traditional: true,
                type: 'POST',
                dataType:'json',
                url: '<...>/welcome/savePostData', 
                data: 'numberTo='+msgTo+'&numberFrom='+msgFrom+'&message='+msg, 

                success: function(resp) { 
                    Materialize.toast("Posted", 5000);

                }

            });

        }

以下是我的HTML代码中的资源:

    <script type="text/javascript" src="js/jquery-3.1.0.min.js"></script> 
    <script type="text/javascript" src="js/jquery.mobile-1.4.5.js"></script> 
    <script type="text/javascript" src="js/jquery.mobile-1.4.5.min.js"></script>

其他细节:

  • 我仅使用此命令在ubuntu中创建了应用程序:cordova create <appname>
  • 我还在android kitkat (lol
  • 上运行
  • 我在freewebhostingarea.com
  • 中部署了我的控制器

2 个答案:

答案 0 :(得分:0)

听起来好像没有启用移动ajax。你有$ .support.cors设置为true吗?

来源:http://demos.jquerymobile.com/1.0/docs/pages/phonegap.html

答案 1 :(得分:0)

要使用跨域AJAX请求,您需要在config.xml文件的末尾添加以下代码。这对我有用:

  <access origin="*"/>
  <gap:plugin name="cordova-plugin-whitelist" source="npm"/>
  <access url="*" subdomains="true"/>
  <allow-intent href="http://*/*"/>