Zend Framework:将对View Helpers的调用插入到Javascript代码中

din*_*pmi 2 javascript ajax zend-framework

我正在开发一个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
        }
    });
Run Code Online (Sandbox Code Playgroud)

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

我想知道是否有更好的方法来做到这一点,这样我就可以将Javascript代码保持为尽可能"PHP-clean"(最终,在单独的文件中).

提前致谢.

mar*_*kus 6

在隐藏的输入字段或任何其他您喜欢的隐藏标记元素中提供URL,并使用jQuery从中获取它.

例:

在视图中:

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

在javascript中:

url : $('#myActionUrl').val(), 
Run Code Online (Sandbox Code Playgroud)