如何通过ajax加载数据视图

时间:2018-02-18 12:39:32

标签: javascript php jquery ajax

当我点击div时,我想在当前页面下方加载另一个页面内容。

单击.work-item div时,它将获取id并从work / getListData函数获取数据到该relavant id,以便该函数返回带有相关数据的json编码数据对象。现在我想把它们传递给detail-view,php并在.work-item div下面显示它

请咨询

// JS

$(".work-item").live('click', function () {
  var id= this.id;
  $.ajax({
    type: 'GET',
    url: '/work/getistData/',
    data: {id : id},
    success: function (data) {
      var json_obj = $.parseJSON(data);
      console.log(data);
    }
  });
});

//controller 
public function listpage ($data) { 
  //this will give a page
}

public function getistData () { 
  $id = $this->request->getQuery('id');
  $data = $this->helper->fetchList($id )
  // echo json_encode($data);
  return $this->listpage($data);
}

2 个答案:

答案 0 :(得分:1)

如果我理解你的问题,那么你应该在你的AJAX成功函数中执行这段代码:

const Todo = (props) =>{
    return(
        <li>
            <h3>{props.text}</h3>
            <button onClick = {props.delete}>Del</button>
            <hr/>
        </li>
    );
}

答案 1 :(得分:0)

  

这是我在SO中的第一个答案。

通常我首先要做的就是将问题分解成小块。测试,如果成功,那么继续前进。

<强>步骤1:

console.log(id)
  • 在您的JavaScript点击回调中,请确保您获得正确的ID。

在jQuery中:

var id = $(this).attr("id"); //if your required id in HTML id element.

var id = $(this).data("id"); //if your required id in HTML data-id element.

第2步:我不确定您的PHP函数名称是getistData()还是getListData()。

您的PHP var_dump($id)函数中的

步骤3: getistData(),请确保您收到了正确的ID。

我个人认为如果您使用GET,您也可以发送如下参数:

在JavaScript中:

url: '/work/getistData/' + id,

然后在php =&gt;中收到getistData($id)

第4步:我不确定您为何使用$$

$$this->helper->fetchList($id)

第5步:我确定正确的功能是JSON.parse()

你应该写:

var json_obj = JSON.parse(data);

好的。祝你好运。