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

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

问题描述

这是一种尴尬,我觉得这么难学的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提交表单中的一些(我会担心的验证和模型后),我应该怎么写我的测试()函数,以便它返回的东西可读JavaScript的(我假设返回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');

在code上面并没有考虑到浏览器中的具体问题,但应该运行在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"
});

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

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