在Joomla中发布404错误(组件未找到)

时间:2017-06-04 03:55:46

标签: javascript php joomla

我正在运行一些自定义的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

2 个答案:

答案 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