运行Zend Frameworks ZendX ajaxLink函数时返回的javascript代码

时间:2010-11-10 16:38:59

标签: zend-framework jquery zendx

我有一个小时前工作,但必须改变一些东西。 我应该如何使用ZendX调用ajaxLink,以便响应html中的任何javascript都被执行?我尝试使用processData,因为我认为我已经使用了它,但现在它不起作用。

<?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));?>

2 个答案:

答案 0 :(得分:0)

如何回复回复?

一般在非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都会自动运行。

很抱歉,如果这没有帮助。

答案 1 :(得分:0)

这应该工作,可能只是ajaxLink()代码中某个地方的错误。我最终返回了JSON编码数据并使用javascript函数来代替返回的数据。