gpt4 book ai didi

jquery - 带有 Codeigniter 后端的 PhoneGap

转载 作者:行者123 更新时间:2023-12-01 00:08:17 24 4
gpt4 key购买 nike

所以我越来越擅长使用p​​honegap,但仍在尝试完全添加codeigniter作为后端。我已经能够将 jquery 中的某些内容从 CI 的 Controller 加载到我的 PhoneGap Android 应用程序,但似乎无法正确向服务器提交任何内容。您是否需要一个 REST 服务器来从 PhoneGap 与 CI 进行通信?我本来计划使用 ajax post 向 CI 发送信息,但到目前为止还无法让它工作。我真的很感激有人能帮助我克服这个障碍。谢谢

link to relative answer

Controller :

<?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"
});

}

最佳答案

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

快速但肮脏的修复方法是在帖子数据中提交 uri 字符串,例如:

&headline=test%20headline&article=test%20article

这可以使用 jquery 序列化函数从表单生成:

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

此发布数据将在提交时设置在 $_POST 变量中,然后通过 CI post 函数访问:

$this->input->post()

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

为了以一种政治上更正确的方式解决这个问题,你需要保留你的 javascript(这很好),但你需要将 CI 后端设置为 RESTful 服务、默认安装的 Controller 和输入类不会处理它。您需要使用 Phil Sturgeon 的 REST 实现之类的东西:

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

关于jquery - 带有 Codeigniter 后端的 PhoneGap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7539414/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com