2015-09-28 28 views
3

下面是代碼,我是新的CS購物車,無法弄清楚如何從tpl在PHP文件中獲得ajax調用。 我想實現一個文件上傳功能到CS購物車的管理面板。 鉤/ order_management/upload_data.tpl '如何發送一個ajax請求到控制器後端php文件從CS購物車中的tpl文件?

 $(document).ready(function(){ 
      alert("doc ready"); 
      $("#btn_ok").click(function(event) { 
       event.preventDefault(); 
       var val = $("#myfile").val(); 
       var data = "data=" + val; 
       $.ajax({ 
        type: "POST", 
        url: '../../../app/addons/ugw_upload_form/controllers/backend/order_management.post.php', 
        data: data, 
        cache: false,      

        success: function(response) 
        { console.log(response);} 
       }); 
      }); 
     }); 
     </script> 

     <div class="control-group"> 
     <input type="text" name="myfile" id="myfile" /> 
     <input type="button" id="btn_ok" name="submit" value="upload" > 
     </div>` 

控制器/後端/ order_management.post.php
'

 if (!defined('BOOTSTRAP')) { die('Access denied'); } 
     use Tygh\Registry; 

     Registry::get('view')->assign('test_var', "Test"); 
     Registry::get('view')->assign('uploadhere', "upload the file here"); 


      if(isset($_POST['data'])){ 
       $textvalue = $_POST['data'];  
       $handle = fopen("Z:\members.txt", "w"); 
       fwrite($handle, $textvalue); 
       fclose($handle); 
      } 
     ?>` 

回答

0

其原因URL的在AJAX請求的情況下的重定向是app \ function \ fn.control.php中的fn_get_route()方法

function fn_get_route(&$req, $area = AREA){ 
::: 
Registry::set('runtime.controller', !empty($parts[0]) ? basename($parts[0]) : 'index'); 
Registry::set('runtime.mode', !empty($parts[1]) ? basename($parts[1]) : 'index'); 
:: 
} 

fn.commom.php

function fn_redirect(){ 
:: 
if (defined('AJAX_REQUEST')) { 
// make in-script redirect during ajax request 
$_purl = parse_url($location); 
$_GET = array(); 
$_POST = array(); 
if (!empty($_purl['query'])) { 
parse_str($_purl['query'], $_GET);} 
$_REQUEST = Bootstrap::safeInput($_GET); 
$_SERVER['REQUEST_METHOD'] = 'GET'; 
$_SERVER['REQUEST_URI'] = $_purl['path']; 
$_SERVER['QUERY_STRING'] = !empty($_purl['query']) ? $_purl['query'] : ''; 
fn_get_route($_REQUEST); 
:: 
} 
0

對於CS-車Ajax請求,你可以看到:http://docs.cs-cart.com/4.3.x/core/front-end/ajax.html

比如你想通過AJAX發送數據:


demo.tpl文件:

<form class="cm-ajax" method="post"> 
    <input id="elm_id" type="submit" name="dispatch[your_controller.your_mode]" value="submit" /> 
</form> 

your_controller.php

if($mode == your_mode){ 
    if (defined('AJAX_REQUEST')) { 
     // your operation 
     // return or exit; 
    } 
} 

相關問題