1
<html>
<head>
<title></title>

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script>
$(document).ready(function() {
$('#items').load('<?php echo base_url('home/test'); ?>'); 
//alert();
});

</script>
</head>

<body>


<div id="header" style="height:11%;width:100%;background-color:#1F242A;">

<div id="img" style="float:left;">
<img src="/e-com/images/logo.jpg" style="margin-left:130%;" />
</div>
</div>

<div id="left" style="background-color:grey;height:100%;width:13%;float:left;">
</div>

<div id="right" style="background-color:grey;height:100%;width:13%;float:right;">
</div>


<div id="content" style="height:100%;width:70%;float:left;">
<div id="table" style="float:center;">
<table border="0" width="44" style="margin-left:45%;"> 
<tr>
<td><h1><a href="home">Home</a></h1></td>
<td><h1><a href="home">Home</a></h1></td>
<td><h1><a href="home">Home</a></h1></td>
</tr>
</table>
</div>
<div id="items">here</div>
</div>



</body>
</html>


</script>

首先,在 home_view 中的上面的脚本应该显示 test.php 中的几个单词,但它不起作用。Test.php 有段落标签和几个词。我能够显示一个警告框,以便 jQuery 工作。

其次,我如何使用 codeigniter 做到这一点?如何将数据发送到 test.php,但加载 home_view.php?

public function test()  
{
    //$data['items'] = $this->product_model->all_items();
    $this->load->view('test');

}
4

2 回答 2

1

使用base_url()来加载文件和 MVC 当然

例如

$(document).ready(function() {
$('#items').load('<?php echo base_url("controller/method"); ?>');
});

在您的方法中,只需调用视图

$this->load->view('test',$data); 

对于您的第二个问题,如果您没有调用它,那么它将毫无用处,并且不会发出或解释 PHP 代码

所以如果你真的需要查看home_page和发送数据给test你可以

  1. 对将发送数据的方法的 AJAX 请求,我认为在这里你不会得到任何好处,我不知道你想要实现什么
  2. 在 home_page.php 视图中加载 test.php 视图并隐藏容器 div 例如

在您的控制器中

public function index() 
{
    $test['title'] = "Stackoverflow" ;
    $data['test'] = $test['title']; 
    $data['items'] = $this->product_model->all_items();
    $this->load->view('home_page', $data);

}

在您看来 home_page.php

<html>
........

<div style='display:none; '>
    <?php $this->load->view('test',$test); ?> 
</div>

我希望这可以帮助:)如果您需要更多帮助,请发表评论:)

于 2013-02-20T00:35:55.290 回答
0

对于你的第一个问题:

尝试

<script>
  $(document).ready(function() {
    $('#items').load('/views/test.php');  # mark the preceding slash
  });
</script>

如果这不起作用,请检查 yourdomain.com/views/test.php 上是否有内容

于 2013-02-20T00:33:13.340 回答