JQuery 读取服务器端返回对象?

blue_apple2006 2009-06-03 04:59:51
这是JQuery的脚本。
<script type="text/javascript">
$('#ok').click(function() {
$.post("checkform.aspx",
{username:$("#txt_username").val(), password:$("#txt_password").val()},
function showResult(data){$("#result").html(data.id+"-"+data.value); },
"jsno"
);
});
</script>

服务器端的一个方法返回一个对象data,里面有id和value两个值,我怎么读出来的结果为: undefined-undefined

如果我返回的是字符串或者其他单一的值,都可以正常读出来,就是对象不能读。请牛人给解答?
小弟刚看JQuery,请大家多多指教!
...全文
386 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
blue_apple2006 2010-11-30
  • 打赏
  • 举报
回复
3楼,你函数加个参数,这个参数就是服务器返回的结果,你在js里处理这个参数就可以了。

function(data){
$("div#show").html(data[0].value+data[0].value2+"<br>"+data[1].value+data[1].value2);
},
lakeq 2009-09-01
  • 打赏
  • 举报
回复

//Post提交数据
//$.post(url,params,callback)
$.post("WebService.asmx/GetResult",{"num":no,"start":start,"end":end,"type":type},function(doc){

//alert("请求已经发出。。。");//

//each循环读取
$(doc).find("TicketModel").each(function(){
var count = $(this).find("TicketCount").text();
//.Text() 取得所有匹配元素的内容
if(count == "0" || count == ""){
$("#spTickctCount").text("没有可销售的票");
return;
}

//赋值span,显示
$("#spTickctCount").text(count);
$("#spUnitPrice").text($(this).find("UnitPrice").text());
$("#spStartTime").text($(this).find("StartTime").text());

});
//alert("请求已经结束。。。");//
});


看看这段代码 ,返回的是 "" ,要返回结果怎么写 ???
blue_apple2006 2009-06-04
  • 打赏
  • 举报
回复
已经搞定了,是可以传的,但要符合一定的json格式, 取值的时候得到的是一个数组,利用下标就可以出来了。

handler.ashx中
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
string id = context.Request.Form["id"];
if (id == "5")
{
//Data myData = new Data("111", "dddd", "mark");
//context.Response.Write(myData);
string msg = "[{value:\"HelloWorld!\",value2:\"HelloWorld2!\"},{value:\"HelloWorld!\",value2:\"HelloWorld2!\"}]";
context.Response.Write(msg);
}
else
{
context.Response.Write("Error!");
}
context.Response.End();

}

html中的脚本
<script type="text/javascript">
$("button#getJSon").click(function(){
$.post("Handler.ashx",
{ id: "5" },
function(data){
$("div#show").html(data[0].value+data[0].value2+"<br>"+data[1].value+data[1].value2);
},
"json");
});
</script>
浪尖赏花 2009-06-03
  • 打赏
  • 举报
回复
这个没办法读的,后台的对象与js中的对象是有差别的
传到js中,js根本不认识

建议组装起来,比如组装成data.id+"-"+data.value
然后到了js里再解析出来
var arr = str.split("-");
var id = arr[0];
var name = arr[1];

87,907

社区成员

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

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