Javascript 将HTTP请求从Backbone.js传递到CodeIgniter到DB
我正在尝试使用Philip Sturgeon@ 我正在尝试向用户资源组添加一个条目。问题是:我将获得一个新条目,但标题将是0而不是“Hello World!!!” 我相信细分是在控制器中的'title'=>$this->post('title'),因为当我将其替换为'title'=>“FOO”时,FOO将显示在数据库中。有什么想法吗? 顺便说一句,我应该把URL放在backbone.js中吗Javascript 将HTTP请求从Backbone.js传递到CodeIgniter到DB,javascript,codeigniter,http-headers,backbone.js,Javascript,Codeigniter,Http Headers,Backbone.js,我正在尝试使用Philip Sturgeon@ 我正在尝试向用户资源组添加一个条目。问题是:我将获得一个新条目,但标题将是0而不是“Hello World!!!” 我相信细分是在控制器中的'title'=>$this->post('title'),因为当我将其替换为'title'=>“FOO”时,FOO将显示在数据库中。有什么想法吗? 顺便说一句,我应该把URL放在backbone.js中吗 url: "MyApp/index.php/app/user" or url: "MyApp/in
url: "MyApp/index.php/app/user" or
url: "MyApp/index.php/app/user/id/(xxx)"
Backbone.js
$(document).ready(function(){
var Item = Backbone.Model.extend({
defaults: {
title: "Hello World!!!"
},
url: "MyApp/index.php/app/user"
});
var item=new Item;
item.save();
app.php(控制器)
app_model.php(模型)
更新::
这是Chrome检查员发来的
申请方式:邮寄
状态代码:200 OK
请求HeaderView源
接受:application/json,text/javascript,/;q=0.01
连接:保持活力
内容长度:15
内容类型:application/json
X-request-With:XMLHttpRequest
请求有效负载{“标题”:“我的内容!!”}
我不太清楚为什么你的头衔没有通过。我建议使用Firebug或Chrome Inspector来检查title参数是否确实被发送。您可以从那里缩小调试范围 至于URL,RESTful的方法是使用MyApp/index.php/app/user/id“管理单个用户 编辑
看起来您的请求发送得很好。我会检查post数据。为什么不打印post数据并查看收到的内容。我猜PHP没有正确读取JSON数据。您可以使用$decoded=JSON\u decode($this->post('title'))将其转换为PHP对象。我也遇到了一些问题。我的解决方案:
$data = json_decode(file_get_contents('php://input'), true);
$this->site_model->create($data);
如何使用
$this->input->post('title');
?()您需要更改控制器下的此行:
$this->post('title')
到
或者实际上,您可以使用普通PHP来访问POST全局变量,比如$\u POST['title']
作为参考,请检查尝试访问
$this->request->body
它应该包含您通过主干网发布的所有值的内容。js请求方法:POST状态代码:200 OK请求标题查看源接受:应用程序/json,文本/javascript,/;q=0.01接受字符集:ISO-8859-1,utf-8;q=0.7,*;q=0.3接受编码:gzip,deflate,sdch接受语言:en-US,en;q=0.8连接:保持活动内容长度gth:15内容类型:application/json主机:www.williamsham.com X-Request-With:XMLHttpRequest请求负载{“title”:“我的内容!!”}我从Chrome Inspector添加了一些东西……基于此……您认为错误的来源在哪里?
$(document).ready(function(){
var Item = Backbone.Model.extend({
defaults: {
title: "Hello World!!!"
},
url: "MyApp/index.php/app/user"
});
var item=new Item;
item.save();
$this->input->post('title')
$this->request->body