简单的 Ajax/Codeigniter 请求

编程入门 行业动态 更新时间:2024-10-27 14:32:47
本文介绍了简单的 Ajax/Codeigniter 请求的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我在使用 ajax 和 codeigniter 时遇到了一些问题.我已经发布了另一个问题(问题链接),我想我解决了它,但我没有,所以我要求某人使用 ajax/codeigniter 编写简单的代码,这将在点击时增加 div/span 内的数字.

I'm having some issues with ajax and codeigniter. I've already posted another question (link to question) and I thought I solved it, but I did not so I`m asking someone to write simple code with ajax/codeigniter that will increase number inside div/span on click.

我最近几天尝试这样做,但不断出错.我的 CI 设置是: base_url : localhost/test/索引:index.php自动加载:网址默认控制器:欢迎(我只是为了这个测试而离开它)

I`m trying last few days to do this, but constantly getting errors..My CI setting are : base_url : localhost/test/ index:index.php autoload:url default controller:welcome (I left it so just for this test)

如果有一个简单的例子来做到这一点,我会非常高兴.我也试过了,又一次,但没有任何运气.这是我这次尝试的:

I would be more than happy to have simple example to do this. I tried also, again, but without any luck. Here's what I tried this time :

控制器(welcome.php)

Controller (welcome.php)

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); class Welcome extends CI_Controller { function __construct() { parent::__construct(); } public function index() { $this->load->view('welcome_message'); } function increase(){ $increase = $this->input->post('increase'); echo increase++; } }

JS (Ajax)

function increase(){ var number = parseInt($('#number').html()) + 1; $.ajax({ type: 'POST', url: 'localhost/test/welcome/increase', data: { increase:number }, success:function(response){ $('#number').html(response); } }); }

视图 (HTML/CSS)

View (HTML/CSS)

<!DOCTYPE html> <html lang="en"> <head> <script type="text/javascript"></script> <script type="text/javascript" src="<?php echo base_url();?>assets/js/jquery_v1.9.1.js"> </script> <script type="text/javascript" src="<?php echo base_url();?>assets/js/script.js"> </script> <style type="text/css"> #number { display: block; text-align: center; width: 100px; height: 30px; margin: auto auto; line-height: 30px; border: 1px solid #999999; border-radius: 5px; } </style> </head> <body> <span id="number" onclick="increase()">0</span> </body> </html>

我在 Windows 7 上使用最新的 xampp.单击 span 时出现错误 - POST localhost/test/localhost/test/welcome/increase 404 (Not Found)

I'm using latest xampp on windows 7. Error that I get when I click on span - POST localhost/test/localhost/test/welcome/increase 404 (Not Found)

推荐答案

如果您在 config.php 中启用了 CSRF,您必须从 cookie 提交 CSRF 令牌,否则请求将无效.

You must submit the CSRF token from cookies otherwise the request will be invalid, if you have CSRF enabled in config.php.

您可以使用这个插件在javascript中检索cookies.只需将其传递给 CI.

You can use this plugin to retrieve cookies in javascript. And simply pass it to CI.

ci_token

ci_cookie

键可能不同,可以找到在config.php中

keys may be different and can be found in config.php

我还建议为请求设置路由并使用

I would also suggest setting up a route for the request and using

site_url()

结束

base_url()

var SITE = "<?php echo site_url();?>" // GLOBAL variable so your javascripts can be external

-

var data = { 'ci_token' : $.cookies.get('ci_cookie'), 'increase' : parseInt(number)} $.ajax({ url : SITE + "/link/to/controller/method", data : data, });

更多推荐

简单的 Ajax/Codeigniter 请求

本文发布于:2023-10-12 01:08:09,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1483331.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:简单   Ajax   Codeigniter

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!