我正在尝试将 com_ajax 用于我正在创建的模块。
但是在我的浏览器控制台中,出现以下错误:
“方法getAjax不存在。”
根据 com_ajax ,所有方法都必须以Ajax
因此,下面在jQuery请求中的代码,URL &method=get
应该引用帮助文件中的getAjax()
函数
我的jQuery请求如下:
jQuery(document).ready(function(){
jQuery('.trash').click(function(){
var del_id= jQuery(this).attr('id');
var $ele = jQuery(this).parent();
jQuery.ajax({
type:'POST',
url:'index.php?option=com_ajax&module=usernotes&method=getFilterData&format=json',
data:{del_id:del_id},
success: function(data){
console.log(data);
/*if(data=="YES"){
$ele.fadeOut().remove();
}else{
alert("Fejl: kan ikke slettes")
}*/
}
})
})
});
这就是我在帮助文件中得到的:
class modUserNoteHelper
{
public static function getFilterDataAjax() {
$output = $_POST['del_id'];
echo $output;
return $output;
}
}
我也尝试过这样,这在控制台中出现了 POST 404 错误
jQuery(document).ready(function(){
jQuery('.trash').click(function(){
var del_id= jQuery(this).attr('id');
request = {
'option' : 'com_ajax',
'module' : 'usernotes',
'method' : 'getFilterData',
'data' : del_id,
'format' : 'raw'
};
jQuery.ajax({
data : request,
type : 'post',
success: function( response ) {
console.log(response);
}
});
})
});
答案 0 :(得分:0)
开始工作!不知道是什么使它起作用,因为我已经做了很多工作。
这是工作代码: jQuery请求
jQuery(document).ready(function(){
jQuery('.trash').click(function(){
var del_id= jQuery(this).attr('id');
var toDelete = jQuery(this).parent().parent();
console.log(del_id);
jQuery.ajax({
url: "index.php?option=com_ajax&module=usernotes&format=json&Id="+del_id,
success: function( response ) {
console.log(response);
if(response){
toDelete.slideUp("normal", function() { jQuery(this).remove(); } );
}else{
alert("can't delete the row");
}
}
});
})
});
我的mod_usernotes.php
defined('_JEXEC') or die;
$user = JFactory::getUser();
$view = JFactory::getApplication()->input->get('view');
$articleId = JFactory::getApplication()->input->getInt('id');
if (!$user->guest && $view == "article") {
require_once dirname(__FILE__) . '/helper.php';
$helper = new modUserNotesHelper();
require JModuleHelper::getLayoutPath('mod_usernotes');
if (isset($_POST))
{
$post = $app->input->post->get('NoteForm', array(), 'array');
$helper->CheckUserNote($post);
}
$helper->GetUserNotes();
}
我的助手
public static function getAjax()
{
$input = JFactory::getApplication()->input;
$idToDelete = $input->get("Id");
$db = JFactory::getDbo();
$query = $db->getQuery(true);
// delete all custom keys for user 1001.
$conditions = array(
$db->quoteName('id') . ' = ' . $idToDelete
);
$query->delete($db->quoteName('#__user_notes'));
$query->where($conditions);
$db->setQuery($query);
$result = $db->execute();
return($result);
}