jquery $.get()问题....

魏飞翔 2012-04-12 10:39:25
前台:

<%@ 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>


后台:

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();
}
}
}


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


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


我想实现如果 查询不到数据,就什么不返回...
...全文
137 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
魏飞翔 2012-04-12
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 的回复:]

是你自己说不要东西的啊
是进行过判断的啊 ajax请求不到数据就不返回任何数据
[/Quote]
因为返回的是个数组我要eval的,如果返回的是页面我这就报错了,我不想页面显示脚本错误


function Sel(values) {

$.get("Default.aspx", { v: values }, function(dt) {
temp = eval(dt);
alert(temp); //弹出查询结果
});
}
魏飞翔 2012-04-12
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 的回复:]

是你自己说不要东西的啊
是进行过判断的啊 ajax请求不到数据就不返回任何数据
[/Quote]
我说不要东西是 就是还保留页面原有的的内容... 就是data 不要返回页面的元素
挨踢直男 2012-04-12
  • 打赏
  • 举报
回复
是你自己说不要东西的啊
是进行过判断的啊 ajax请求不到数据就不返回任何数据
魏飞翔 2012-04-12
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]

C# code
protected void Page_Load(object sender, EventArgs e)
{
var v = Request["v"]; //获取参数,也就是文本框的值
string type = Request.QueryString["type"];
if(type=='ajax'){

……
[/Quote]
  Response.End();


这样页面就什么都没了,连文本框和按钮都没了
挨踢直男 2012-04-12
  • 打赏
  • 举报
回复
    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();
}
}
}


      $(document).ready(function() {

$("#Button1").click(function() { //按钮点击事件

Sel($("#TextBox1").val()); //执行Sel方法,并把文本框值传过去
});
});

function Sel(values) {

$.get("Default.aspx", { v: values,type:'ajax' }, function(dt) {

alert(dt);//弹出查询结果
});
}

魏飞翔 2012-04-12
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

你ajax请求的那张页面和你所执行ajax功能的那张页面是同一张页面
那自然会出现这种状况喽

最好把两张页面分开,ajax请求那张页面用ashx一般处理程序页面
如果硬要按你的做法,最好进行某些判断,判断页面是正常加载还是ajax请求
[/Quote]
领导不让啊...不然我也想建个ashx页面
我爱小土豆 2012-04-12
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

写个ELSE。。。
[/Quote]
写个else然后返回一个false
挨踢直男 2012-04-12
  • 打赏
  • 举报
回复
你ajax请求的那张页面和你所执行ajax功能的那张页面是同一张页面
那自然会出现这种状况喽

最好把两张页面分开,ajax请求那张页面用ashx一般处理程序页面
如果硬要按你的做法,最好进行某些判断,判断页面是正常加载还是ajax请求
三石-gary 2012-04-12
  • 打赏
  • 举报
回复
写个ELSE。。。

87,907

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧