如何使用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是…