php – 学习如何使用AJAX与CodeIgniter

我觉得这很难学习 JavaScript,但是…

假设我有一个这么简单的控制器:

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; }

    }

}

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

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

我知道有jQuery这样的框架可以帮助你,但现在我只是想在最简单的层次上理解它,而且我发现的所有教程和指南迄今为止我也深入浅出. jQuery中的一个例子或者什么都可以.

非常感谢 :)

您只需打印出来,并通过javascript重新捕获信息:
public function test() {
    $somenumber = $this->input->post('someNumber');
    if ($somenumber == 12) {
        print "Number is 12";
    } else {
        print "Number is not 12";
    }
}

你的javascript可能看起来像这样:

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至少我相信.

以下是上述所有的jQuery示例:

var options = {
    'someNumber' : 12
}

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

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...