2

一个小时前我有这个工作,但一定改变了一些东西。我应该如何使用 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));?>
4

2 回答 2

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 都会自动运行。

抱歉,如果这没有帮助。

于 2011-03-10T05:34:05.697 回答
0

这应该有效,并且可能只是ajaxLink()代码中某处的错误。我最终返回了 JSON 编码的数据,并使用 javascript 函数来处理返回的数据。

于 2011-05-24T06:24:38.793 回答