我觉得这很难学习
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" });