在写我的问题之前,我看了所有相关问题,但我仍然无法找到解决问题的答案。
我是Laravel 4中的新手,我需要使用ajax来检查数据库并重新加载显示数据库内容的div。
我的代码在本地工作,一切都很好。但是上传到远程服务器上的项目版本不起作用,尽管两个代码完全相同。
这是主视图中我的div的html代码
<div id="list_nodes">
// List of Nodes' IPs
</div>
主视图中的jquery和ajax代码
{{ HTML::script('//cdnjs.cloudflare.com/ajax/libs/jquery/2.0.3/jquery.min.js') }}
<script type="text/javascript">
function updateNodes(){
$('#list_nodes').load('testa');
setInterval(updateNodes, 6000);
}
updateNodes();
</script>
在routes.php中我有:
Route::get('testa', 'HomeController@checkUpdate');
在HomeController中我有checkUpdate函数:
public function checkUpdate()
{
$nodes = Node::all();
return View::make('testa', compact('nodes'));
}
最后查看testa.blade.php:
@foreach ($nodes as $node)
<li>
<p>{{ $node->ip }}</p>
</li>
@endforeach
当我将$('#list_nodes').load('testa')
更改为$('#list_nodes').load('/')
时,它正在加载主页,这意味着我在主视图中的代码很好。问题出在route.php的某个地方,但我仍然无法弄清楚。
感谢您的帮助。