读书人

jquery $.get()有关问题.

发布时间: 2012-04-15 18:39:21 作者: rapoo

jquery $.get()问题....
前台:

C# code
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head runat="server">    <title></title>    <script src="js/jquery-1.4.2.min.js" type="text/javascript"></script>    <script type="text/javascript">        $(document).ready(function() {            $("#Button1").click(function() { //按钮点击事件                Sel($("#TextBox1").val()); //执行Sel方法,并把文本框值传过去            });        });        function Sel(values) {            $.get("Default.aspx", { v: values }, function(dt) {                alert(dt);//弹出查询结果            });        }           </script></head><body>    <form id="form1" runat="server">    <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>    <asp:Button ID="Button1" runat="server" Text="Button" />    </form></body></html>

后台:
C# code
    protected void Page_Load(object sender, EventArgs e)    {        var v = Request["v"]; //获取参数,也就是文本框的值        if (!string.IsNullOrEmpty(v)) //判断是否为空        {            Response.Clear();            if (v == "v") //v==v,是为了模拟查询数据库的返回结果            {                var data = "[[\"1\",\"600000\",\"600000\",\"浦发银行\"],[\"2\",\"600001\",\"600001\",\"邯郸钢铁\"],[\"3\",\"600002\",\"600002\",\"齐鲁石化\"]]";                Response.Write(data);                Response.Flush();                Response.End();            }        }    }

如果查询出来内容,那么显示没错:如下:


但是比如我模拟数据库如果没查到内容:为什么会把整个页面返回来呢


我想实现如果 查询不到数据,就什么不返回...

[解决办法]
写个ELSE。。。
[解决办法]
你ajax请求的那张页面和你所执行ajax功能的那张页面是同一张页面
那自然会出现这种状况喽

最好把两张页面分开,ajax请求那张页面用ashx一般处理程序页面
如果硬要按你的做法,最好进行某些判断,判断页面是正常加载还是ajax请求
[解决办法]
探讨

写个ELSE。。。

[解决办法]
C# code
    protected void Page_Load(object sender, EventArgs e)    {        var v = Request["v"]; //获取参数,也就是文本框的值        string type = Request.QueryString["type"];        if(type=='ajax'){        if (!string.IsNullOrEmpty(v)) //判断是否为空        {            Response.Clear();            if (v == "v") //v==v,是为了模拟查询数据库的返回结果            {                var data = "[[\"1\",\"600000\",\"600000\",\"浦发银行\"],[\"2\",\"600001\",\"600001\",\"邯郸钢铁\"],[\"3\",\"600002\",\"600002\",\"齐鲁石化\"]]";                Response.Write(data);                Response.Flush();                Response.End();            }        }else{Response.End();}        }    } 

读书人网 >JavaScript

热点推荐