如何使用jquery调用php控制器方法?
我正在开发一个Web应用程序,我正在集成jquery …现在正在寻找带有jquery的ajax调用到我的控制器函数….
jquery.ajax()
会有用我认为……但是如何调用我的控制器方法….
$.ajax({ type: "POST", url: "http://localhost/codeigniter_cup_myth_new/index.php/libraryController/loadbookdetails", data: "", contentType: "application/json; charset=utf-8", async: false, dataType: "json", success: function(jsonObj) { function loadbookdetails() { //Paging $college=$_SESSION['college']; $this->load->library('pagination'); $data['bookdetails'] = $this->librarymodel->selectbook($college); //$data['rackOptionData'] = $this->librarymodel->selectrack(); if(empty($data['bookdetails'])) { $data['comment'] = 'no record found!'; } $this->load->view('bookdetials',$data); }
我在这里获取这些记录如何使用它与jquery.ajax()
函数以及如何将$data
转换$data
json并将其与jquery一起使用并使用表迭代…
你不能直接将jQuery连接到PHP函数,因为它们不能同时运行:PHP在服务器端执行(通常生成HTML页面),jQuery在客户端运行。
你可以让jQuery对PHP页面的URL进行Ajax调用。 该PHP页面将是所需的控制器,并执行所请求的操作。
是否有预先定义的方法取决于您使用的PHP Framework(如果有)。
对于PHP> = 5.2.0,您可以使用json_encode()。 你的代码看起来像这样:
$this->load->view('bookdetails', json_encode($data));
可以在此处找到有关CodeIgniter + AJAX的一系列参考资料。
如果你已经有你的view/bookdetials.php
然后你需要的是(而不是你的javscript代码):
在页面的某处添加div
,如下所示:
然后添加此javascript代码:
这将在页面加载时执行ajax请求,然后将加载的内容放入div#ajax-palaceholder
Ajax请求必须与php脚本联系。 该脚本必须返回数据。 您使用json作为响应格式:
dataType: "json",
因此,对于您的示例,只有输出表单脚本必须是json。 它不能比json更重要。
您的serwer脚本(bookdetials视图)将如下所示:
//Initialise data $bookdetails = ... // json encode data echo json_encode( $bookdetails ); // make sure nothing else go to the output ???
??? – 取决于系统。 通常你必须在这里阻止pagelayout。
json作为响应是好的,但对于大多数情况,HTML是…