首页 新闻 会员 周边

一个aspx页面的json数据,另一个html页该怎样用js就接收及遍历出来?

0
悬赏园豆:20 [已解决问题] 解决于 2013-11-05 12:51

一个aspx页面的json数据,另一个html页该怎样用js就接收及遍历出来?我想要详细的代码  

问题补充:

嗯 谢谢大家 ,结贴了。

无良小丑的主页 无良小丑 | 初学一级 | 园豆:158
提问于:2013-11-05 11:04
< >
分享
最佳答案
0

后台的代码就简单点了

var SupplierCode = "Test";
string SupplierName = "Test";
var jsonData = new { SupplierCode, SupplierName };
var serlizer = new JavaScriptSerializer();
 return serlizer.Serialize(jsonData);
//以上代码返回josn格式为{"SupplierCode ":"Test","SupplierName ":"Test"}

//前台代码 如下
                 $.ajax({
                        url: url,
                        type: "GET",
                        data: {
                        
                        },
                        dataType: "json",
                        success: function (data) {
                             //此处可以操作返回的json数据
                             alert(data.SupplierCode)
                            }
                        }
                    });            
收获园豆:5
Zery | 大侠五级 |园豆:6151 | 2013-11-05 11:45
其他回答(4)
0

这个难度比较大吧,你要解析另一个不是你自己网站的网页源码。
我想到一个方法可能会好点,你在自己的网页中嵌入一个iframe,把目标网页载入,通过脚本能否引用到json数据呢?

收获园豆:5
空明流光 | 园豆:106 (初学一级) | 2013-11-05 11:35

不是,两个页面都是我自己做的,aspx页面可以显示json格式数据,我想在另一个html页上获取到这个数据。

支持(0) 反对(0) 无良小丑 | 园豆:158 (初学一级) | 2013-11-05 11:40

@无良小丑: 这不是常规做法呀,当然拿到肯定是可以的,但要花费多少工作量就不知道了,具体要看你的代码怎么写的,主要还是分析源码。

我突然觉得这个需求好奇怪呀,你的页面是针对不同用户显示不同数据的话,那用户如果没用打开aspx页面,你怎么取数据呢?

如果aspx页面针对所有用户返回的json都一致,你写个webservice,两个页面调用一个webservice不就行了吗,一致性就比较好控制了。

支持(1) 反对(0) 空明流光 | 园豆:106 (初学一级) | 2013-11-05 11:45

@沧海一杰:495941414这是我扣扣 加我可以么 ,我给你发图片

支持(0) 反对(0) 无良小丑 | 园豆:158 (初学一级) | 2013-11-05 12:08

@沧海一杰: 这是我aspx页面可返回的数据

支持(0) 反对(0) 无良小丑 | 园豆:158 (初学一级) | 2013-11-05 12:12

html页代码我就不发了,因为我写的不好用。

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Web;
 5 using System.Web.UI;
 6 using System.Web.UI.WebControls;
 7 using System.Data;
 8 using System.Data.SqlClient;
 9 using System.Text;
10 
11 namespace Conference
12 {
13     public partial class JsonMeeting : System.Web.UI.Page
14     {
15         protected void Page_Load(object sender, EventArgs e)
16         {
17             if (!IsPostBack)
18             {
19                    Conference.conn.Open();
20       CreateJsonParameters();
21                   }}
22         public  void  CreateJsonParameters()
23         {
24         Request.QueryString["jsoncallback"]; 
25          
26             DataTable dt = Conference.getDataSet("select * from Meeting");
27             
28          
29            Conference.conn.Close();
30             StringBuilder JsonString = new StringBuilder();
31              
32             if (dt != null && dt.Rows.Count > 0)
33             {
34             
35                 JsonString.Append("{ ");
36                 JsonString.Append("\"Fuck\":[ ");
37                 for (int i = 0; i < dt.Rows.Count; i++)
38                 {
39                     JsonString.Append("{ ");
40                     for (int j = 0; j < dt.Columns.Count; j++)
41                     {
42                         if (j < dt.Columns.Count - 1)
43                         {
44                             JsonString.Append("\"" + dt.Columns[j].ColumnName.ToString() + "\":" + "\"" + dt.Rows[i][j].ToString() + "\",");
45                         }
46                         else if (j == dt.Columns.Count - 1)
47                         {
48                             JsonString.Append("\"" + dt.Columns[j].ColumnName.ToString() + "\":" + "\"" + dt.Rows[i][j].ToString() + "\"");
49                         }
50                     }
51                     if (i == dt.Rows.Count - 1)
52                     {
53                         JsonString.Append("} ");
54                     }
55                     else
56                     {
57                         JsonString.Append("}, ");
58                     }
59                 }
60            
61                 JsonString.Append("]}");
62                 string result = JsonString.ToString();
63                
64                 Response.Write(result);
65                 Response.ContentType = "application/json";
66                 Response.Charset = "UTF-8";
67                 Response.End();
68             }
69             
70         }
71  
72     }
73 }        
支持(0) 反对(0) 无良小丑 | 园豆:158 (初学一级) | 2013-11-05 12:16

你现在是无法接收到,还是不会遍历呢? 遍历的话是语法层面的问题,我无法帮到你,你自己生成的,自己慢慢解析吧。

你上面有一段JS,应该是html页面中的吧,用GetJSON后面的地址换成aspx页面的地址就应该可以获取到json对象了呀?

支持(0) 反对(0) 空明流光 | 园豆:106 (初学一级) | 2013-11-05 12:25
0
 $(document).ready(function () {
            $("#shipperName").change(function () {
                var shipperID = $("#shipperName").val();
                $.getJSON("/OrderMgr/OrderAdd/FindCombox", { shipperID: shipperID }, function (shipper) {
                    $("#shipperID").text(shipper.Phone);
                });
            });
        });
收获园豆:5
路还很长........继续走 | 园豆:178 (初学一级) | 2013-11-05 11:45
0
//后台一般处理程序 
public void ProcessRequest(HttpContext context) {
            context.Response.ContentType = "text/plain";
            List<UserInfo> list = new List<UserInfo>();
            for (int i = 1; i <= 10; i++) {
                UserInfo user = new UserInfo(); //UserInfo类型有两个属性分别为Name和Age
                user.Name = "ty" + 1;
                user.Age = 20 + i;
                list.Add(user);
            }
            JavaScriptSerializer jSerializer = new JavaScriptSerializer(); //用.net自带的序列化json
            context.Response.Write(jSerializer.Serialize(list));
            context.Response.End();
        }

 

 

//前台拿到json并循环遍历
//前台拿到json并循环遍历 $.getJSON("Handler2.ashx", "", function (data) { if (data.length > 0) { var strTds = ""; for (var i = 0; i < data.length; i++) { var user = data[i]; var strs = "<tr><td>" + user.Name + "</td>"; strs += "<td>" + user.Age + "</td></tr>"; strTds += strs; } $("#tbContent").append(strTds); //append到表格中 } });
 
$.getJSON("Handler2.ashx", "", function (data) { if (data.length > 0) { var strTds = ""; for (var i = 0; i < data.length; i++) { var user = data[i]; var strs = "<tr><td>" + user.Name + "</td>"; strs += "<td>" + user.Age + "</td></tr>"; strTds += strs; } $("#tbContent").append(strTds); //append到表格中 } });

 

 <table id="tbContent">
        <tr><th>姓名</th><th>年龄</th></tr>
 </table>
收获园豆:5
秋壶冰月 | 园豆:5903 (大侠五级) | 2013-11-05 12:14
//前台拿到json并循环遍历 
$.getJSON("Handler2.ashx", "", function (data) {
                if (data.length > 0) {
                    var strTds = "";
                    for (var i = 0; i < data.length; i++) {
                        var user = data[i];
                        var strs = "<tr><td>" + user.Name + "</td>";
                        strs += "<td>" + user.Age + "</td></tr>";
                        strTds += strs;
                    }
                    $("#tbContent").append(strTds);  //append到表格中
                }
            });

代码一不小心,搞乱了!

支持(0) 反对(0) 秋壶冰月 | 园豆:5903 (大侠五级) | 2013-11-05 12:20

你现在是无法接收到,还是不会遍历呢? 遍历的话是语法层面的问题,我无法帮到你,你自己生成的,自己慢慢解析吧。

支持(0) 反对(1) 空明流光 | 园豆:106 (初学一级) | 2013-11-05 12:23

@沧海一杰: 

你上面有一段JS,应该是html页面中的吧,用GetJSON后面的地址换成aspx页面的地址就应该可以获取到json对象了呀?

支持(0) 反对(0) 空明流光 | 园豆:106 (初学一级) | 2013-11-05 12:26
0

用JSONP应该可以!

芝麻开花* | 园豆:202 (菜鸟二级) | 2014-10-07 17:19
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册