学习如何在 CodeIgniter 中使用 AJAX [英] Learning how to use AJAX with CodeIgniter

查看:41
本文介绍了学习如何在 CodeIgniter 中使用 AJAX的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我觉得学习 JavaScript 太难了,这有点尴尬,但是..

It's kind of embarassing that I find it so difficult to learn JavaScript, but ..

假设我有一个非常简单的控制器,如下所示:

Let's say I have a really simple controller like this:

class front extends Controller {

    public function __construct()
    {
        parent::Controller();   
    }

    public function index()
    {
        //nothing!
    }

    public function test () {

        $someNumber = $this->input->post('someNumber');

        if ($someNumber == 12) { return TRUE; }

    }

}

是的,这可能会写得更好,哈哈.

Yes, that could probably be written better, haha.

我想知道的是 - 我如何使用 JavaScript 在表单中提交一个数字(稍后我会担心验证和模型),我应该如何编写我的 test() 函数以便它返回一些可读的东西JavaScript(我假设 return TRUE 可能不起作用,也许是 XML 或 JSON 或类似的东西?),以及如何使用 JavaScript 访问数据?

What I want to know is - how could I use JavaScript to submit a number in a form (I'll worry about validation and models later), how should I write my test() function so that it returns something readable by the JavaScript (I'm assuming return TRUE probably wouldn't work, perhaps XML or JSON or something like that?), and how do I access the data with the JavaScript?

我知道有像 jQuery 这样的框架可以帮助解决这个问题,但现在我只想在最简单的层次上理解它,到目前为止我发现的所有教程和指南对我来说都太深入了.jQuery 中的一个例子或其他任何东西也很好.

I know there are frameworks like jQuery that will help with this, but right now I'd just like to understand it at the simplest level and all the tutorials and guides I've found so far are way too in depth for me. An example in jQuery or whatever would be good too.

非常感谢:)

推荐答案

您基本上只需将其打印出来,然后通过 javascript 重新捕获该信息:

you would just print it out basically, and re-capture that information via javascript:

public function test() {
    $somenumber = $this->input->post('someNumber');
    if ($somenumber == 12) {
        print "Number is 12";
    } else {
        print "Number is not 12";
    }
}

您的 javascript 可能如下所示:

your javascript might look something like this:

var xhr;
xhr = new XMLHTTPRequest();
xhr.onreadystatechange = function() {
    if (xhr.readyState == 4) {
        // this is where the return information is
        alert('Status: '+xhr.status+' Response: '+xhr.responseText);
    }
}

xhr.open('POST', '/front/test');
xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
xhr.send('someNumber=12');

上面的代码没有考虑到浏览器的特定问题,但至少我相信应该可以在 firefox/ie7 上运行.

the code above doesn't take into account browser specific issues, but should run on firefox/ie7 at least i believe.

这是上述所有内容的 jQuery 示例:

here's a jQuery example of all the above:

var options = {
    'someNumber' : 12
}

$.post('/front/test', options, function(data) {
    alert(data); // should print "Number is 12"
});

这篇关于学习如何在 CodeIgniter 中使用 AJAX的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆