Zend框架:在Javascript代码中插入对View helper的调用

Zend Framework: Inserting calls to View Helpers into Javascript code

本文关键字:View helper 调用 插入 框架 Javascript 代码 Zend      更新时间:2023-09-26

我正在开发一个web应用程序,我使用jQuery对服务器进行Ajax调用。

我使用url视图帮助器插入要调用的URL。视图脚本中的代码如下所示:

$.ajax({
        type: "POST",
        url: "<?php echo $this->url(array('action' => 'myaction', 'controller' => 'mycontroller'), null, true); ?>",
        dataType: "html",
        data: { id: myId, format: 'xml' },
        beforeSend: function() {
            // Show pseudoprogress
        },
        success: function(html) {
            // Process response
        },
        error: function() {
            // Show an error message
        }
    });

系统工作正常,但由于这种方法,我无法将Javascript代码提取到单独的文件中,因为我总是需要先通过PHP解释器运行它。

我想知道是否有更好的方法来做到这一点,这样我就可以保持Javascript代码尽可能"php清洁"(并最终在单独的文件中)。

在隐藏的输入字段或任何其他隐藏的标记元素中提供url,然后使用jQuery从那里获取它。

的例子:

在视图中:

<input type="hidden" id="myActionUrl" value="<?php echo $this->url(array('action' => 'myaction', 'controller' => 'mycontroller'), null, true); ?>" />

javascript中:

url : $('#myActionUrl').val(), 

我会这样做:

<script type="text/javascript">
   var url = "<?php echo $this->url(array('action' => 'myaction', 'controller' => 'mycontroller'), null, true); ?>";
</script>