2

これは 1 時間前に機能していましたが、何かが変わったに違いありません。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

応答はどのように返されますか?

一般的に非禅で。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 に答える