我正在开发SilverStripe项目。在我的项目中,我试图向控制器发出Ajax请求并呈现部分视图。我正在关注本教程https://www.silverstripe.org/learn/lessons/v4/ajax-behaviour-and-viewabledata-1。但这是行不通的。请在下面查看我的代码。
这是我在控制器中的索引功能
public function index(HTTPRequest $request)
{
if ($request->isAjax()) {
return $this->renderWith('Authors');
}
return [
'Blogs' => $this->getBlogs(),
];
}
您可以在代码中看到,我正在尝试在Includes文件夹中呈现Authors部分视图。
我使用以下代码在模板文件夹的“包含”文件夹中创建了部分视图。
<h1>This is the previous events partial view.</h1>
这就是我在Jquery中进行ajax调用的方式
$.get(url)
.then(function (response) {
//render the view here
})
.catch(function (error) {
console.log(error);
})
但是ajax调用抛出错误。这是错误。
[User Warning] None of the following templates could be found: my-themes/templates/Authors in themes "Array ( [0] => my-themes [1] => $default ) "
GET /blogs?page=2
Line 210 in /var/www/public/vendor/silverstripe/framework/src/View/SSViewer.php
Source
201 $message .= print_r($templates, true);
202
203 $themes = self::get_themes();
204 if (!$themes) {
205 $message .= ' (no theme in use)';
206 } else {
207 $message .= ' in themes "' . print_r($themes, true) . '"';
208 }
209
210 user_error($message, E_USER_WARNING);
211 }
212 }
213
214 /**
215 * Triggered early in the request when someone requests a flush.
216 */
问题是什么,我该如何解决?