我对AJAX有很好的理解,通常在使用它时没有任何问题,但我对Joomla来说相对较新,并且最近才开始构建组件等.
我创建了一个使用“默认”视图的组件(命名目录).在这里,我有以下代码,这是一个AJAX调用:
<script type="text/javascript">
var url = "index.php?option=com_directory&view=directory&task=clubFilter&format=raw";
jQuery(document).ready(function() {
jQuery('#city').change(function() {
jQuery.ajax({
url: url,
type: "POST",
data: jQuery("#city").serialize(),
dataType: 'json',
success: function(data) {
alert('data');
}
});
});
});
在我的’views / directory / views.html’文件中,我创建了以下函数,该函数当前包含一个die,所以我可以确认它何时工作:
public function clubFilter() {
die(print_r('here_i_am'));
}
当我运行以下代码时,我在Firebugs控制台中出现以下错误.
'Error: 500 View not found [name, type, prefix]: directory, raw, directoryView'
我认为这是因为AJAX url var是不正确的,但是我从这里尝试了许多不同的解决方案和其他来源,并且无法使AJAX功能正常工作.我的网址错了吗?
非常感谢
解决方法:
通常,我对控制器上的任务进行ajax调用.
这是我在我的一个扩展中使用的url格式,它使用对组件的ajax调用:
index.php?format=raw&option=<component_name_goes_here>&task=<task_goes_here>
然后,在我的组件的默认控制器中,我放了一个与任务名称相同的函数:
function getSomeData()
{
echo(json_encode($data));//I normally return json
}
希望这可以帮助.
标签:php,ajax,url,joomla 来源: https://codeday.me/bug/20190725/1536880.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。