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