【问题标题】:Want to use a jquery pop up, but get the data from server side想要使用 jquery 弹出,但从服务器端获取数据
【发布时间】:2009-06-17 00:02:14
【问题描述】:

当有人像这样点击我的 google adwords 链接时:

http://www.myshoppingsite.com/product/rubberball.aspx?promo=promo123

我希望我的 aspx 页面读取“promo”参数,访问数据库以拉回一些数据,然后在产品页面顶部向用户显示一个漂亮的 jquery 类型弹出窗口。用户可以阅读有关促销的所有信息,然后关闭该弹出窗口并进入他们想要访问的产品页面。

我不知道该怎么做...我是读取参数并从客户端获取数据(通过 web 服务或页面方法),还是获取数据并从服务器端调用 javascript?

我之前创建过 jquery 弹出窗口,但数据一直都在客户端。我想显示一个弹出窗口,但要从数据库中获取数据。

有什么想法吗?

【问题讨论】:

    标签: asp.net javascript jquery html


    【解决方案1】:

    如果您真的考虑过,在这种情况下没有理由返回服务器。您可以简单地检查服务器端是否传递了 promo GET 参数,如果是,则显示隐藏的 <div> 和促销信息:

    <div style='display: none;' id='promo'>
    ....
    </div>
    

    一旦你这样做了,你可以简单地用一些 jQuery 代码来检查这个隐藏的&lt;div&gt; 是否存在,如果存在则显示模式:

    $(function() {
        if($('#promo').length > 0) {
            showModal($('#promo').html());
        }
    });
    

    如果你坚持通过 AJAX 查询服务器,这也是相当简单的:

    function gup( name ) {
      name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
      var regexS = "[\\?&]"+name+"=([^&#]*)";
      var regex = new RegExp( regexS );
      var results = regex.exec( window.location.href );
      if( results == null )
        return "";
      else
        return results[1];
    }
    
    $(function() {
        var promo = $.trim(gup('promo'));
        if(promo != '') {
            $.get('my/url/whatever.php', {promo: promo}, function(data) {
                showModal(data);
            });
        }
    });
    

    既然你说你有使用 jQuery 显示模态窗口的经验,我不会详细说明 showModal 应该做什么;只要说它应该简单地激活你的 jQuery 插件用来显示模态窗口的任何东西就足够了。

    【讨论】:

      【解决方案2】:

      所以你想要加载时弹出窗口?使用弹出窗口呈现页面,并使用关闭弹出窗口的方法。在服务器上读取查询字符串,并在一次操作中将您想要的任何内容呈现到其中。唯一需要的 JS 就是隐藏弹出窗口。

      【讨论】:

        【解决方案3】:

        您可以使用facebox。以编程方式调用一个漂亮的跨浏览器弹出窗口,如下所示:

        $('#someLink').click(function(e) {
            e.preventDefault();
            $.facebox({ ajax: '/product/rubberball.aspx?promo=promo123' });
        });
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2012-08-05
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-05-20
          • 2021-12-21
          • 2016-05-24
          • 1970-01-01
          相关资源
          最近更新 更多