Magento:在Ajax调用中向头部添加一个JS文件?

时间:2013-05-21 09:57:58

标签: ajax magento

我使用Ajax调用控制器。控制器函数称为testAction()。这很好用,函数被调用。现在我想在该函数的头部添加JS。我的方法是:

我创建了一个句柄,它将我的JS文件添加到标题中:

<my_handle>
    <reference name="head">
        <action method="addJs">
            <script>somefolder/myjs.js</script>
        </action>
    </reference>
</my_handle>

现在我在我的控制器中添加了代码,以便在Ajax调用中添加此句柄,就像这样。

$layout = $this->getLayout()->getUpdate();
$layout->addHandle('my_handle');

通常情况下这很好用,但由于它是一个Ajax调用,它似乎不起作用(在调用返回后不包含文件)。所以问题是:如何在Ajax调用中向头部添加JavaScript文件?

谢谢!

1 个答案:

答案 0 :(得分:1)

由于您已经通过AJAX调用控制器,您只需使用jQuery / Javascript加载Javascript:

使用jQuery:

方法: jQuery.getScript() 描述:使用GET HTTP请求从服务器加载JavaScript文件,然后执行它。

有关详细信息,请参阅official documentation

使用原型:

var head;
var script;

head = $$('head')[0];
if (head) {
    script = new Element('script', { type: 'text/javascript', src: 'dynamic.js' });
    head.appendChild(script);
}

有关其他信息,请参阅here