2015-01-14 2 views
0

Как я могу назвать метод/функцию в контроллере, у меня есть имя контроллера TestController.php, затем и Test.js. Кроме того, мне тяжело накладывать на область URL.Вызовите контроллер в preashashop с помощью ajax

Я хотел получить данные с контроллера с помощью ajax.

public function ajaxProcessTestMyAjax(){ 
    echo "test"; 
} 

Javascript

$(document).ready(function(){ 

$(".view").click(function(){ 
    $.ajax({ 
     url: "", 
     data: { 
      ajax: true, 
      action: "TestMyAjax", 
     }, 
     success: function(output){ 
      alert(output); 
     }   
    }); 
}); 

ответ

0

Самое главное, чтобы задать параметр контроллера:

$.ajax({ 
    type: 'POST', 
    headers: { "cache-control": "no-cache" }, 
    url: baseUri + '?rand=' + new Date().getTime(), 
    async: true, 
    cache: false, 
    dataType : "json", 
    data: 'controller=cart&ajax=true&token=' + static_token, 
    success: function(jsonData) 

Вы можете указать данные в виде строки или объекта (reaelly ли не имеет значения, но создателям PS, казалось, нравились струны).

При указании контроллера PS автоматически вызывает соответствующий контроллер. controller параметр иногда можно назвать tab (в более старых версиях?). Нужна важная вещь - пропустить токен, который вы можете позже проверить в своем контроллере специальным методом (контроллер наследует его).

Другим распространенным способом является вызов в файл и инициализация PrestaShop внутри вашего файла. Затем вызовите какой-то модульный метод.

1

Надеется, что это помогает:

$.ajax({ 
url: 'controller/action', 
type: "POST", 
datatype: 'json', 
data: JSON.stringify({ 
       val1: "test1", 
       val2: "test2" 
      }), 
success: function (jsonData) 
Смежные вопросы