0

所以我想要做的是,在用户提交一些信息之后,我调用一个动作调用 saveronda,将信息保存在数据库中,保存后我想重定向到另一个页面,根据萤火虫 html是正确的,但视图并不令人耳目一新。所以这是代码,所以在我的 /rondas/chooseronda 我得到了这个

<span class="st-labeltext">Tags da ronda:</span>



    <table id="toolbar2"></table>
    <div id="ptoolbar2"></div>


<div class="clear" style="z-index: 670;"></div>
</div>  

<div class="st-form-line" style="z-index: 680;">
<span class="st-labeltext">Nome da ronda:</span>

   <input type="text" name="nomeronda" id="nomeronda">




<div class="clear" style="z-index: 670;"></div>
</div>     
 <div class="st-form-line" style="z-index: 680;">
<span class="st-labeltext">Tag Inicial:</span>


<select id="tagini"  name="tagini">  
</select> 
<div class="clear" style="z-index: 670;"></div>
</div>
 <div class="st-form-line" style="z-index: 680;">
<span class="st-labeltext">Tag Final:</span>


<select id="tagfim"  name="tagfim">  
</select> 
<div class="clear" style="z-index: 670;"></div>
</div> 
 <div class="st-form-line" style="z-index: 680;">
<span class="st-labeltext">Ordem:</span>


<select id="ordem"  name="ordem">
    <option value="Sim">Sim</option>
    <option value="Não">Não</option>
</select> 
<div class="clear" style="z-index: 670;"></div>
</div> 
<div class="button-box" style="z-index: 460;">
<input id="button" class="st-button" type="submit" value="Submit" name="button">
<input id="button2" class="st-clear" type="reset" value="Cancel" name="button">
</div>

当用户按下按钮提交时,我正在对 /rondas/saveronda 进行 ajax 调用并发送一些数据,代码如下:

<script language = "Javascript">
    $(document).ready(function() {
    $("#button").click(function () {



                     /*
       $.ajax({
       url: '/rondas/saveronda',
       type: 'POST',
       data: {param1: param1, param2:param2 },
       datatype: "json"
       */
       //buscar o nome
       /*var nomeronda=$("#nomeronda").val();
       //buscar a ordem
       var ordem=$("#ordem").val();

       //tag inicial e tag final
       var taginicial=$("#tagini").val();
       var tagfinal=$("#tagfim").val();
       if(taginicial==tagfinal)
           {
               alert("a tag inicial não pode ser a mesma que a tag final");
           }
           else
               {
                   var tags="";
                   //var allRowsOnCurrentPage = $('#toolbar2').getDataIDs();
                   var ids = $("#toolbar2").jqGrid('getDataIDs');

                    for (var i = 0; i < ids.length; i++) 
                    {
                        var rowId = ids[i];
                        var rowData = $('#toolbar2').jqGrid ('getRowData', rowId);
                          tags=tags+rowData.id_tag.toString()+' ';



                    }*/

                $.ajax({
                            url: '/rondas/saveronda',
                            type: 'POST',
                            data: {param1: "sasa"},
                            datatype: "json"

                    });
               //}


    }); 
});

</script>

在这种情况下,我发送值为“sasa”的 param1,并通过萤火虫检测到 /rondas/saveronda 的帖子。保存数据后我想将用户重定向到/rondas/list,所以我一直在尝试不同的解决方案

public function saverondaAction()
    {
        // action body

        /*  
             if($this->_request->isXmlHttpRequest())
        {


        $param1 = $this->_request->getParam('param1');
        $param2 = $this->_request->getParam('param2');
        $param3 = $this->_request->getParam('param3');
        $param4 = $this->_request->getParam('param4');
        $param5 = $this->_request->getParam('param5');
        $rondasModel= new Application_Model_Ronda();


                    $this->_forward('list', 'rondas');





             }
         * 
         */

        $this->_helper->redirector->gotoRoute(
    array(
        'controller' => 'rondas',
        'action' => 'list'
    )
);
    }

或使用重定向或转发.. 没有工作,视图仍然是 /rondas/choosetags 而不是 /rondas/list

我的错误是什么...提前谢谢..

4

1 回答 1

1

您的初始视图是/rondas/chooseronda当用户按下提交时,您进行 ajax 调用并向/rondas/saveronda其发送一些数据。现在,如果这成功了,您希望从初始页面 ( /rondas/chooseronda) 重定向到/rondas/list.

如果在操作/rondas/saveronda中编写的重定向代码不起作用,那么您可以将成功消息返回到初始视图 ( /rondas/chooseronda),您需要在 jQuery ajax 代码中检测成功消息。如果成功,输入重定向 jQuery 代码,它将重定向到/rondas/list.

于 2013-08-07T15:37:42.173 回答