0

我想创建自己的 JS 小部件,它必须是动态的。我的意思是,例如,从下载的脚本生成的 html :

<script src="www.mywebsite.it/widget/?ID=2&Category=4" type="text/javascript"></script>

必须不同于:

<script src="www.mywebsite.it/widget/?ID=1&Category=5" type="text/javascript"></script>

并且应该从我的服务器上的数据库中获取 HTML 中的数据。那么,我需要调用一个创建 javascript 的 aspx 页面来创建 html 吗?或者哪个可能是解决方案?

4

2 回答 2

1

如果您想从服务器检索数据并以 JSON 或 XML 格式发送数据,更好的方法是使用带有 .ashx 的通用处理程序。接下来,数据将用javascript插入页面。

因此,如果我理解得很好,您确实会生成一个 .aspx,其中包含您的模板和一个 javascript,如果您使用 JQuery,则该 javascript 包含要在 Category 中导航的代码:

$.ajax({
  url: 'data.ashx?ID=2&Category=5',
  success: function(data) {
    $('.result').html(data);
    alert('Load was performed.');
  }
});

后面的服务器(ashx):

    private readonly JavaScriptSerializer _js = new JavaScriptSerializer();        
    public void ProcessRequest(HttpContext context)
    {         
      //Do logic and retrieve data here
      Categorys c = GetFooById(context.Request["id"]);

      context.Response.Write(_js.Serialize(c));
      context.Response.ContentType = "application/json";
    }
于 2012-05-29T14:31:27.960 回答
0

看来您想使用 AJAX。

脚本源不应该是动态的(如果是,则不能被缓存),但脚本本身可以调用您喜欢的任何页面来拉回数据(例如 JSON 格式)或原始标记以放置在预定义的元素。

如果您能提供帮助,请不要使用 ASPX 页面来创建 javascript。

考虑使用 jQuery 等 JavaScript 库来帮助您。

于 2012-05-29T14:01:19.220 回答