0

我有返回部分视图的 javascript 代码。

var url1="";
 $.get(url1, { 'id': Gid }, function (result) {
 $("#abcd").html(result);   
  });

查看返回是

<div id="goalReport">
</div>

<script type="text/javascript">

   function LoadReport() {
   }
  </script>

我想在我编写的 get 函数成功时调用负载报告函数。

我如何调用负载报告函数而不是将其附加到我尝试过的 div abcd 中

result.LoadReport

但它不工作

4

2 回答 2

0
$.get(url1, { 'id': Gid }, LoadReport);

这是你想要的吗?对不起,我没有完全理解你的问题

于 2012-11-08T06:14:45.390 回答
0

您在 javascript 中定义的所有内容都在同一个上下文中。它不像 C# 或其他一些语言,虽然你有范围定义,甚至你可以有命名空间。因此,您可以简单地将代码更改为:

var url1="";

$.get(url1, { 'id': Gid }, function (result) {

     //If the result contains the HTML code you mentioned you should append it to the document
     //and browser will initialize the script tag and everything inside it (So you MUST append the script tag to be initiated). So you can call the 
     //function whenever the script tag is loaded. Because you didn't use the src attribute to 
     // reference a javascript file, I think you can call the function on the next line, after
     // appending the element.

     $(result).appendTo(document.body);    

      LoadReport();

   }
);

但是,还有另一种方法,您可以通过某些 RegEx 或字符串函数找到脚本内容并调用该"eval"函数并对其进行初始化,而无需将 html 代码附加到文档中。我自己不推荐这种方式,因为它是一个错误的想法,它可能会导致你一些愚蠢的例外。

希望它可以帮助干杯

于 2012-11-08T06:14:54.213 回答