【问题标题】:phonegap with codeigniter backend带有codeigniter后端的phonegap
【发布时间】:2011-09-24 13:45:25
【问题描述】:

所以我在使用 phonegap 方面做得越来越好,但我仍在尝试完全添加 codeigniter 作为后端。我已经能够在 jquery 中加载从我的 CI 控制器到我的 phonegap android 应用程序的东西,但似乎无法正确地向服务器提交任何东西。您是否需要一个休息服务器来从 phonegap 与 CI 通信?我正计划使用 ajax post 向 CI 发送信息,但到目前为止无法使其正常工作。我真的很感激有人可以帮助我克服这个障碍。谢谢

link to relative answer

控制器:

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Welcome extends CI_Controller {


    public function index()
    {
        //$this->load->view('welcome_message');
    $data['query']=$this->site_model->get_last_ten_articles();
$this->load->view('partial1',$data);

    }

    public function addarticle(){
    $headline=$this->input->post('headline');
    $article=$this->input->post('article');
    $this->site_model->insert_entry($headline,$article);    

    }
}

Javascript(在 phonegap 设备上)

function add_article(){



$.ajax({
  type: 'POST',
  url: 'http://testlab.site40.net/droiddev/welcome/addarticle/',
  data: {"headline": "test headline","article": "test article"} 
  error: function(){alert('fail');},
  success: function(data){
   alert('article added');
  },
  dataType: "json"
});

}

【问题讨论】:

  • 显示您编写的未与 codeigniter 后端成功通信的代码。这是在模拟器中还是在设备上?
  • 将分析器添加到您的add_article 类:$this-&gt;output-&gt;enable_profiler(TRUE); 它将输出捕获的所有数据(POST 等;)可能只是您打错了一些东西,但分析器是您的朋友!
  • @Jakub 感谢分析器提示!完全忘记了。很有用:)
  • @CI_Guy 我也在尝试做同样的事情,你是如何将 CI 与 phonegap 集成的?这是一个很晚的问题,但你还能帮忙吗?你不能在你的ajax调用中做“base_url”吗?

标签: jquery ajax json codeigniter cordova


【解决方案1】:

首先,让您的示例运行,您的帖子数据是 json,数据类型是 json,但您的 CI 实现正在访问帖子变量。

快速而肮脏的解决方法是在 post 数据中提交一个 uri 字符串,例如:

&amp;headline=test%20headline&amp;article=test%20article

这可以从带有 jquery 序列化函数的表单生成:

var myData = $('#form-id').serialize();

此帖子数据将在提交时设置在 $_POST var 中,然后通过 CI post 函数访问:

$this-&gt;input-&gt;post()

*注意:请记住删除 ajax 调用中的 dataType 设置以使其正常工作。

如果想以更政治正确的方式来解决这个问题,您将希望不使用 javascript(这一切都很好),但您需要将 CI 后端设置为 RESTful 服务、默认安装的控制器和输入类不会处理它。您需要使用 Phil Sturgeon 的 REST 实现之类的东西:

  • 代码有github project
  • blog post(首先阅读此内容 - 它是 REST 服务器的一个很好的简短入门知识,用于 CI 相关的使用),
  • 还有你已经知道的tutorial
  • 哦,还有一个 video 来设置它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-09-08
    • 1970-01-01
    • 2014-05-02
    • 2012-11-04
    • 2017-03-04
    • 2014-09-27
    • 1970-01-01
    相关资源
    最近更新 更多