2017-06-02 114 views
0

上午我的壞英語道歉。對於prestashop來說是新的。請任何人幫忙。如何發送AJAX請求到定製的PHP文件中的Prestashop如何ajax請求到prestashop中的自定義頁面1.7

//My js file 
    $.ajax({ 
    url : baseUrl + "modules/<myModule>/ajaxfunc.php", 
    type: "POST", 
    cache: false, 
    data : {form_data: 1 , action:'imageuploadAction'}, 

    beforeSend: function() { 
    $('body').append('<div class="loading_popup">Loading...</div>');},   

    success: function(data){ 
    console.log(data); 
     } 
     }); 

// php file 
// modules/<myModule>/ajaxfanc.php 

    <?php 
    include_once('../../config/config.inc.php'); 
    include_once('../../init.php'); 
    class ajaxfuncAjaxModuleFrontController extends ModuleFrontController 
    { 
    public function imageuploadAction() { 
    die('here'); 
    } 
    } 
    ?> 

我不知道它的正確與否。請指導我。

回答

0

我已經找到了解決方案,得到的Prestashop正確的Ajax請求1.7

//在TPL文件

<script> 
    var url= {url entity='module' name='<myModuleName>' controller='<MyControllerName>' params = ['var1' => 1,'var2' => 2,action => 'MyControllerAction']} 
</script> 

//在JS文件

$.ajax({ 
url : url, 
type: "POST", 
data : 'var3='3, 
success : function(response){ 
    console.log(response); 

} });

//在控制器PHP文件

<?php 
    require_once(dirname(__FILE__).'../../../../config/config.inc.php'); 
    require_once(dirname(__FILE__).'../../../../init.php'); 
    class <MyModule><MyController>ModuleFrontController extends ModuleFrontController 
    { 
     public function initContent() 
     { 
     $this->ajax = true; 
     parent::initContent(); 
     } 
     // displayAjax for FrontEnd Invoke the ajax action 
     // ajaxProcess for BackEnd Invoke the ajax action 

     public function displayAjaxMyControllerAction() 
     { 
     $var1 = Tools::getValue('var1'); 
     $var2 = Tools::getValue('var2'); 
     $var3 = Tools::getValue('var3'); 

     header('Content-Type: application/json'); 
     die(Tools::jsonEncode(['var1'=> $var3]); 
     } 
     } 
0

您可以在模塊中使用ajax前端控制器,並使用鉤子爲模塊本身的Ajax請求生成所需的URL。

Make an ajax request from a Prestashop module

+0

感謝丹尼斯,我已經發現了一些其他的解決辦法 –

相關問題