2010-11-10 38 views
2

我在一个小时之前就已经工作了,但必须改变一些东西。 我应该如何使用ZendX调用ajaxLink,以便响应html get中的任何javascript被执行?我试过processData,因为我认为我使用过,但现在不起作用。使用Zend框架时返回的运行javascript代码ZendX ajaxLink函数

<?php echo $this->ajaxLink('Click me and I will run the returned javascript code', 
        $this->url(array('controller' => 'foo', 'action' => 'bar')), 
        array('id' => 'myid'), 
           'processData' => true, 
           'method' => 'post', 
           'async' => false 
        ), 
        array('a_posted_id' => $the_posted_id));?> 
+0

没有人知道如何运行返回的JavaScript代码? :) – inquam 2010-12-06 14:52:41

回答

0

这应该工作,可能只是ajaxLink()代码中的某处的错误。我最终返回了JSON编码数据,并且让JavaScript函数对返回的数据起作用。

0

我havnt玩ZendX还,所以裸陪我,世界上没有答案贴却又如此金正日采取了一枪吧。

如何返回响应?

一般在非zend中。你可以通过javascript构建一个javascript标签。

var script = document.createElement('script'); 
    script.type = 'text/javascript'; 
    script.text = "the returned javascript"; 
    document.getElementsByTagName('head')[0].appendChild(script); 

这会自动运行代码。

或者让你的Ajax返回一个url到一个文件,而不是文本设置标签的src。

var script = document.createElement('script'); 
    script.type = 'text/javascript'; 
    script.src = "/the/returned/link.js" 
    document.getElementsByTagName('head')[0].appendChild(script); 

在这两种情况下,JavaScript都会自动运行。

对不起,如果这没有帮助。