我正在运行一些自定义的php文件,其中包含一个名为sourcerer的扩展程序,在Joomla网站中包含一些javascript代码。一切都按照PHP的预期工作,但是我遇到了一个调用另一个PHP文件的问题。这是有问题的javascript代码,第二行是从此代码中调用的“suburb.php”文件,导致问题。
$.ajax({
url : 'suburb.php',
dataType: "json",
method: 'post',
data: {
name_startsWith: request.term,
type: 'suburb_table',
row_num : 1
},
success: function( data ) {
response( $.map( data, function( item ) {
var code = item.split("|");
return {
label: code[0],
value: code[0],
data : item
}
}));
}
});
我遇到的问题是,即使包含此javascript的原始php文件与suburb.php文件位于同一目录中,Joomla似乎也将URL调用更改为“localhost / index.php / menu_alias / suburb .php“这会导致POST错误404(未找到组件)。
我尝试在代码的第二行使用url路径的许多变体,但都失败了。有人可以告诉我,我的网址路径应该是什么样的吗?
谢谢你, Adri
答案 0 :(得分:0)
使用绝对网址而不仅仅是“suburb.php”,所以它应该是这样的:http://www.[joomlasite].com/suburb.php
至于localhost,我会说你的configuration.php中可能有$live_site
设置为“localhost” - 请确保将$live_site
设置为空。如果不是这种情况,则在数据库中搜索任何localhost。
答案 1 :(得分:0)
感谢您的反馈。我尝试使用标准格式的绝对URL,但它给出了某种限制错误。然后有人建议这个选项,它已经解决了我的问题
url : "<?php echo Juri::base(); ?>directory/etc/suburb.php",
谢谢,Adri