各位大侠帮帮忙啊 本人初学者 有些不懂
C#后台取得数据库值并转为JSOP格式,用 Response.Write(JsonString());输出结果如下;
([{lmid:'1',lmtop:'1',lmtitle:'该走哪条路?',lmcontent:'你觉得自己行么?',lmuname:'张三',lmdate:'2013-05-10',lmip:'127.0.0.1',lmcount:'0'}])
这个格式应该就是正确的JSON格式吧?但是前台取不到JSON的值啊 代码如下:<script type="text/javascript">
$(function(){
$.post("Default2.aspx",{
},function(returnData){
if(returnData!=""){
var str = "<table>";
str += "<tr><td>留言ID</td><td>是否置顶</td><td>标题</td><td>内容</td><td>作者</td><td>日期</td><td>留言IP</td><td>回复数</td></tr>";
var resid = eval(returnData);
for(var i = 0;i <resid.length;i ++){
str += "<td>" +(i+1) + " </td>";
str += "<td>"+ resid[i].lmid +"</td>";
str += "<td>" + resid[i].lmtop + " </td>";
str += "<td>" + resid[i].lmtitle + " </td>";
str += "<td>" + resid[i].lmcontent + " </td>";
str += "<td>" + resid[i].lmuname + " </td>";
str += "<td>" + resid[i].lmdate + " </td>";
str += "<td>" + resid[i].lmip + " </td>";
str += "<td>" + resid[i].lmcount + " </td></tr>";
}
str += "</table>";
$("#table").html(str);
}
else{
alert("无最近留言!");
}
});
});
</script>
在<body>中有如下一句代码:
<div id="table"></div>
为什么它总是弹出“无最近留言!”啊?怎么取不到JSON的值呢?请各位帮帮忙啊!!非常感谢!!!JSONC#函数数据库
C#后台取得数据库值并转为JSOP格式,用 Response.Write(JsonString());输出结果如下;
([{lmid:'1',lmtop:'1',lmtitle:'该走哪条路?',lmcontent:'你觉得自己行么?',lmuname:'张三',lmdate:'2013-05-10',lmip:'127.0.0.1',lmcount:'0'}])
这个格式应该就是正确的JSON格式吧?但是前台取不到JSON的值啊 代码如下:<script type="text/javascript">
$(function(){
$.post("Default2.aspx",{
},function(returnData){
if(returnData!=""){
var str = "<table>";
str += "<tr><td>留言ID</td><td>是否置顶</td><td>标题</td><td>内容</td><td>作者</td><td>日期</td><td>留言IP</td><td>回复数</td></tr>";
var resid = eval(returnData);
for(var i = 0;i <resid.length;i ++){
str += "<td>" +(i+1) + " </td>";
str += "<td>"+ resid[i].lmid +"</td>";
str += "<td>" + resid[i].lmtop + " </td>";
str += "<td>" + resid[i].lmtitle + " </td>";
str += "<td>" + resid[i].lmcontent + " </td>";
str += "<td>" + resid[i].lmuname + " </td>";
str += "<td>" + resid[i].lmdate + " </td>";
str += "<td>" + resid[i].lmip + " </td>";
str += "<td>" + resid[i].lmcount + " </td></tr>";
}
str += "</table>";
$("#table").html(str);
}
else{
alert("无最近留言!");
}
});
});
</script>
在<body>中有如下一句代码:
<div id="table"></div>
为什么它总是弹出“无最近留言!”啊?怎么取不到JSON的值呢?请各位帮帮忙啊!!非常感谢!!!JSONC#函数数据库
([{lmid:'1',lmtop:'1',lmtitle:'该走哪条路?',lmcontent:'你觉得自己行么?',lmuname:'张三',lmdate:'2013-05-10',lmip:'127.0.0.1',lmcount:'0'}])
是JSON还是JSONP,这两个东西不太一样,说清楚到底是哪个格式。
还有把你alert(returnData);的结果贴出来
$.post("Default2.aspx",{
},function(returnData){
改成$.getJSON{("Default2.aspx",{},function(returnData){
alert(returnData);
}看看有没有返回结果
谢谢您啦!这到底是怎么回事啊??
$.getJSON{("Default2.aspx",{},function(returnData){
而不是
$.getJSON{("Default2.aspx.cs",{},function(returnData){吗?
你的Response.Write(JsonString());到底是在这两个页面的哪个页面写的?
而不是
$.getJSON{("Default2.aspx.cs",{},function(returnData){
共有两个aspx页面,Mess.aspx,Default2.aspx 两个cs页面Mess.aspx.cs,Default2.aspx.cs
其中javascript是写在Mess.aspx中的,Default2.aspx中只有一句如下:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %>
Response.Write(JsonString());包括我从数据库取数据转为JSON格式是写在Mess.aspx.cs中的,
Default2.aspx.cs除了新建页面时自动添加的代码外什么也没有了。这个还真不明白是怎么回事了,以前用过这种方法写,而且是成功的。
谢谢您啦!
中的红色{会报错,确定是这样写么?
我对这个不了解,只是用的时候直接copy以前的成功例子。
您能把修改后的完整语句写一下吗?十分感谢啊!!
中的红色{会报错,确定是这样写么?
我对这个不了解,只是用的时候直接copy以前的成功例子。
您能把修改后的完整语句写一下吗?十分感谢啊!!
$.post() 须有 dataType:'json' 属性,否则只是普通的串
改成 $.getJSON 也可以
2、AJAX 通讯时默认使用 utf-8 编码进行,如果回传的不是 utf-8 编码的内容,需先发送相应的编码声明的头
我用$.getJSON 了,但是不行啊
编码申明是怎么做的啊?我在这方面新手
谢谢啊
HtmlMeta Myencode = new HtmlMeta();
Myencode.HttpEquiv = "Content-Type";
Myencode.Content = "text/html; charset=gbk";
Page.Header.Controls.Add(Myencode);
为什么用post时alert是空白,什么也没有。
用getJSON时alert是null。
这是为什么啊?
到底哪里有错?请有经验的前辈指点下啊。。
“你的JSON格式不正确,jquery 1.4以后对json格式变严格了,少了双引号
resp.getWriter().write("{total:100,info:\"ttttttttt\"}");resp.getWriter().write("{\"total\":\"100\",\"info\":\"ttttttttt\"}");也就是说必须要这种格式的
{"键":"值","键":"值"};像原来的
{键:值,键:值}
{'键':'值','键':'值'}这种都是错误的,不合标准,所以jquery返回error”之后我也这样改了,可为什么还是取不到值啊,弹出的是空白。
请各位帮帮忙啊,多谢!