无法引用控制器功能 ZF2

Can't Refer to Controller Function ZF2

本文关键字:功能 ZF2 控制器 引用      更新时间:2023-09-26

我试图将帖子值发送到OrderController(我使用ZF2)。我在视图文件夹中有javascript代码。这些是代码:

function submitHandler(form) {
       var urls = '<?php echo $this->baseurl; ?>/order/saveOrder';
       var pack= $("#pack").val(),
           name= $("#name").val(),
           instit= $("#instit").val(),
           telp= $("#telp").val(),
           email= $("#email").val(),
           address= $("#address").val(),
           orderno = "test",
           order_stat ="phone",
           pack_type = "recurring",
           rec_period ="monthly"; 
         $.ajax({
           type: 'POST',
           url: urls,
           data: {
               pack: pack,
               name: name,
               instit:instit,
               telp: telp,
               email: email,
               address: address,
               orderno : orderno,
               order_stat :order_stat,
               pack_type : pack_type,
               rec_period :rec_period
           },
           success: function(msg) {
               var result = JSON.parse(msg);          
               if (result.success) {        
                   alert("SUccESSSS");
               } else {
                   alert(result.msg);
               }           
           },
           error: function(xhr, status, error){
                alert("Failed");
           }
       }); 
    }

这些是来自控制器的代码:

 public function saveOrderAction() {
        $post = $this->getRequest()->getPost();
        $response = $this->getResponse();
        /*
        $storage = Order'Storage::factory($this->getDb());
        $attd = new Order($storage);
        $success = false;
        $msg = '';
        $attd->orderno = $post['orderno'];
        $attd->order_stat = $post['order_stat'];
        $attd->pack = $post['pack'];
        $attd->pack_type = $post['pack_type'];
        $attd->rec_period = $post['rec_period'];
        $attd->name = $post['name'];
        $attd->instit = $post['instit'];
        $attd->telp = $post['telp'];
        $attd->email = $post['email'];
        $attd->address = $post['address'];
        //$save = $attd->saveOrder();
        if ($attd->saveOrder(true)) { */
            $success = true;
            $msg = 'Saved Success';
            echo "<script type='text/javascript'>alert($msg);</script>";
            print_r('test');
            printf('test2');
        $response->setContent(json_encode(array("success" => $success, "msg" => $msg)));
        return $response;
    }

但它没有显示任何东西。所以我已经发表了评论,只想显示警报,但它没有显示。帮帮我,谢谢。

可能需要将URL更改为:

var urls = '<?php echo $this->baseurl; ?>/order/save-order';

zend 中的 URL 是小写的。多个单词用短划线分隔。处理请求时,操作是驼峰,因此您的操作方法是正确的 PSR-2。