如何从CS卡中的tpl文件向控制器后端php文件发送ajax请求?

时间:2015-09-28 13:14:53

标签: php ajax smarty cs-cart

下面是代码,我是cs cart中的新手,无法弄清楚如何从php文件中的tpl获取ajax调用。 我想在cs cart的管理面板中实现文件上传功能。 钩/ order_management / upload_data.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);
           }
        ?>`

2 个答案:

答案 0 :(得分:0)

在ajax请求的情况下重定向url的原因是app \ function \ fn.control.php中的fn_get_route()方法

.git

fn.commom.php

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');
::
}

答案 1 :(得分:0)

对于cs-cart中的ajax请求,您可以看到:http://docs.cs-cart.com/4.3.x/core/front-end/ajax.html

例如,您想通过ajax发送数据:

您的n文件:

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