如何渲染来自php响应的html

时间:2017-09-28 16:00:24

标签: javascript php html codeigniter response

我正在使用codeigniter。 我在我的前端代码中这样做: -

$scope.book=function(){
 $http.get("./Booking/index")   //getting response as an html page, should render it to do correctly.
    .then(function (data) {
      console.log(data);       //prints whole html code of booking.html
 });
}

在我的预订控制器中,我正在做: -

public function index(){
    $this->load->view('booking');
}

所以我得到的回复是html页面getting response as html page

我想将html渲染为前端代码,我该怎么做?简单来说,我希望我的书功能在执行时,放弃预订页面作为前端,我得到的是来自获取请求的响应。

2 个答案:

答案 0 :(得分:2)

我不知道你正在使用哪个js框架,所以我的答案是在简单的javascript中。解决方案是替换页面中元素的内容。你可以这样做

$scope.book=function(){
 $http.get("./Booking/index")  
    .then(function (data) {
      document.querySelector('.class_selector_or_#id_or_body').innerHTML = data;       
 });
}

答案 1 :(得分:-3)

你需要像这样改变你的控制器

public function index(){
    print_r($this->load->view('booking', '', TRUE));
}

并在你的jquery中更改为

$scope.book=function(){
 $http.get("./Booking/index")   //getting response as an html page, should render it to do correctly.
    .then(function (data) {
      console.log('success');
      $("#some_div_id"),html(data);
 });
}