Fórum OpenCart Brasil

Por um e-commerce livre, confiável e profissional

Suporte geral sobre problemas técnicos para OpenCart v2.x.
#73627
Galera estou tentando fazer acesso via ajax a um controller, eu consigo acessar a url porem a minha reposta é permissão negada, a requisição ajax esta assim no tpl:
Código: Selecionar todos
<span onclick="remove(<?php echo $newsletter['news_id']; ?>);" class="btn btn-danger" ><i class="fa fa-minus-circle"></i></span>
e nessa mesma pagina mais embaixo o script javascript:
Código: Selecionar todos
	function remove(value){
			$.ajax({
				type: 'POST',				
				url: 'index.php?route=controller/extension/module/newsletters/remove&token=<?php echo $token; ?>',
				dataType: 'json',
				data: {id: value},
				success: function(data){ alert(data.message);}
			});

			return false;
		}
o $token no controle apenas recebe assim: $data['token'] = $this->session->data['token']; (esta certo?)
esse controller esta assim:
Código: Selecionar todos
public function remove($data){
		$json = array();
		$json['message'] = $this->model_extension_module_newsletters->remove($data['id']);

		$this->response->addHeader('Content-Type: application/json');
		$this->response->setOutput(json_encode($json));
	}
a model é essa:
Código: Selecionar todos
public function remove($data){		
		if($this->db->query("DELETE FROM " . DB_PREFIX . "newsletter WHERE news_id='" . $data['id'] . "'")){
			return "Unsubscription Successfull";
		}else{
			return "Unsubscription Fail";
		}
	}
esse é o layout:
Imagem

alguma ajuda? agradeço!
#73631
Modifique a linha
Código: Selecionar todos
url: 'index.php?route=controller/extension/module/newsletters/remove&token=<?php echo $token; ?>',
para
Código: Selecionar todos
url: 'index.php?route=extension/module/newsletters/remove&token=<?php echo $token; ?>',
Com certeza se seu código estiver correto irá funcionar;
#73633
veteranodf escreveu:Modifique a linha
Código: Selecionar todos
url: 'index.php?route=controller/extension/module/newsletters/remove&token=<?php echo $token; ?>',
para
Código: Selecionar todos
url: 'index.php?route=extension/module/newsletters/remove&token=<?php echo $token; ?>',
Com certeza se seu código estiver correto irá funcionar;
obrigado por responder, eu fiz a alteração mas deu "Pagina não encontrada"

o diretorio que quero acessar é esse:
admin/controller/extension/module/newsletters.php

o template esta em:
admin/view/template/extension/module/newsletters.tpl
Editado pela última vez por Hebert Lima em 26 Mai 2017, 15:49, em um total de 1 vez.
#73635
veteranodf escreveu:Pela imagem que postou acima seu módulo se encontra "extensions > Nesletters", então o diretório que ele esta é
Código: Selecionar todos
url: 'index.php?route=extension/newsletters/remove&token=<?php echo $token; ?>',
Não, todos os modulos que ficam dentro da pasta "module" não aparecem nos "breadcrumbs" ele fica como "extensions/{modune-name}" mudaram na versão 2.3.0.2

Ola @Simone A forma correta seria um novo bloco[…]

Meu site nao abre mais

Se não pretende fazer upgrade da loja para […]

PHP 8+ incompatibilidade

A versão oficial &quot;3.0.3.9&quot[…]

Ola @carlos.junqueira O Opencart é bem e[…]