【问题标题】:Zend Controller not receiving data from Jquery/ajaxZend 控制器没有从 Jquery/ajax 接收数据
【发布时间】:2015-12-17 10:14:21
【问题描述】:

当我点击它时,我试图将我的元素的一个 id 发送到我的 indexController。尝试了不同的方式在线寻求帮助,但没有运气。我的控制器没有从 jQuery/Ajax 接收数据。有人可以帮忙吗?

我的观点:index.phtml

<body>
    <div class="container">
        <div class="row header-white">
            <div>
                <h1><span id="homepage">Shuffle Buddy</span></h1>
            </div>
        </div>
        <div class="row" id="nav">  
            <ul>
                <li><div class="libox" id="a">A</div></li>
                <li><div class="libox" id="b">B</div></li>
                <li><div class="libox" id="c">C</div></li>
                <li><div class="libox" id="d">D</div></li>
                <li><div class="libox" id="e">E</div></li>
                <li><div class="libox" id="f">F</div></li>
                <li><div class="libox" id="g">G</div></li>
                <li><div class="libox" id="h">H</div></li>
                <li><div class="libox" id="i">I</div></li>
                <li><div class="libox" id="j">J</div></li>
                <li><div class="libox" id="k">K</div></li>
                <li><div class="libox" id="l">L</div></li>
                <li><div class="libox" id="m">M</div></li>
                <li><div class="libox" id="n">N</div></li>
                <li><div class="libox" id="o">O</div></li>
                <li><div class="libox" id="p">P</div></li>
                <li><div class="libox" id="q">Q</div></li>
                <li><div class="libox" id="r">R</div></li>
                <li><div class="libox" id="s">S</div></li>
                <li><div class="libox" id="t">T</div></li>
                <li><div class="libox" id="u">U</div></li>
                <li><div class="libox" id="v">V</div></li>
                <li><div class="libox" id="w">W</div></li>
                <li><div class="libox" id="x">X</div></li>
                <li><div class="libox" id="y">Y</div></li>
                <li><div class="libox" id="z">Z</div></li>
            </ul>   
        </div>
        <div class="row" id="wrapper">
            <div id="jsCarousel">
                <div class="subitems">
                    <?php
                       $_items = $this->items;
//                       $this->text = "hello";
//                       $this->controller->text = "Hello";
                    ?>
                    <p class="innersub"><?php echo $_items ['item'] . "<br>"; ?></p>
                </div>
                <div class="subitems"></div>
                <div class="subitems"></div>
                <div class="subitems"></div>
                <div class="subitems"></div>
                <div class="subitems"></div>
                <div class="subitems"></div>
                <div class="subitems"></div>
                <div class="subitems"></div>
                <div class="subitems"></div>
                <div class="subitems"></div>
                <div class="subitems"></div>
                <div class="subitems"></div>
                <div class="subitems"></div>
                <div class="subitems"></div>    
            </div>
        </div>
        <div class="row">
            <div class="bxdetails">
                <div class="subdetails">
                    <h4 style="text-align: center;"><b>Attributes</b></h4>
                </div>
                <div class="subdetails">
                    <h4 style="text-align: center;"><b>Behavior</b></h4>
                </div>
            </div>     
        </div>    
    </div>  
</body>

我的控制器:indexController.php

class IndexController extends Zend_Controller_Action {

    public function indexAction() {


        $param = $this->getRequest()->getPost('id');
        if ($param != NULL) {
            $_custObj = new Application_Model_DbTable_Shuffle();
            $this->view->items = $_custObj->getData($param);
        }
    }

}

我的 jQuery/Ajax:shuffle.js

$(document).ready(function () {

    $('.libox').click(function () {
        var contentPanelId = $(this).attr("id");
        alert(contentPanelId);
        ajaxFunction(contentPanelId);
              function ajaxFunction(contentPanelId) {
            var ajaxRequest;
            try {
                ajaxRequest = new XMLHttpRequest();
            }
            catch (e) {
                alert("upgrade your browser");
                return false;
            }

            ajaxRequest.onreadystatechange = function () {
                if (ajaxRequest.readyState === 4) {
                }
            };

            ajaxRequest.open("/default/index", true);
            ajaxRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
            ajaxRequest.send("id=" + contentPanelId);
        }
        location.href = "/";
    });
});

【问题讨论】:

  • 我的回答对你有帮助吗?请给我反馈
  • 它正在工作,谢谢。我只是忘了在这里回复。 :)

标签: javascript jquery ajax zend-framework


【解决方案1】:

我刚刚编辑了您的脚本并使用了 jquery ajax 函数而不是 javascript ajax。这里是代码

<script type="text/javascript">

$(document).ready(function () {

$('.libox').click(function () {
    var contentPanelId = $(this).attr("id");
    alert(contentPanelId);
    ajaxFunction(contentPanelId);

    location.href = "/";
});
 function ajaxFunction(contentPanelId) {

    $.ajax({
        url:'/index/test',
        type: 'POST',
        data: {id: contentPanelId},
        success:function(data){
            alert(data);
        }
    })

    }

});

【讨论】:

    猜你喜欢
    • 2016-10-17
    • 1970-01-01
    • 1970-01-01
    • 2014-05-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-15
    • 1970-01-01
    相关资源
    最近更新 更多