在站点A.com 有a.htm 假设是http://a.com/a.htm
在站点b.com 有b.ashx , http://b.com/b.ashx
在a.com 的代码可以调用b中的代码返回的数据。
a.htm

a.htm
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="utf-8" >
4
<head>
5
<title>Openkava ※ Openkave</title>
6
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
7
</head>
8
9
<body>
10
<div id="newmessage">
11
message:
12
</div>
13
<script type="text/javascript">
14
function say(h)
15
{
16
document.getElementById("newmessage").innerHTML=h;
17
}
18
function GScript(src)
19
{document.write('<' + 'script src="' + src + '"' +' type="text/javascript"><' + '/script>');}
20
</script>
21
22
<script type="text/javascript">
23
var url = http://b.com/b.ashx?url=ddd;
24
url = encodeURI(url);
25
//Submit to server with a trick
26
//var js_obj = document.createElement( "script" );
27
//js_obj.type = "text/javascript" ;
28
//js_obj.setAttribute( "src" , url);
29
30
//Get response from server by appending it to document
31
32
// document.body.appendChild(js_obj);
33
GScript(url);
34
var hh="";
35
// document.write('<script src="' + 'http://127.0.0.1/myhomepage/js.ashx?url=ddd' + '"' +' type="text/javascript"></sc'+'ript>');
36
</script>
37
<script type="text/javascript">
38
alert(hhh);
39
40
41
</script>
42
43
44
45
46
</body>
47
</html>

b.ashx
1
<% @ webhandler language="C#" class="Sbm.Web.ApplicationCenter.GetMypic" %>
2
3
using System;
4
using System.Web;
5
using System.Web.SessionState;
6
using System.Drawing;
7
using System.Drawing.Imaging;
8
using System.Text;
9
using System.Collections;
10
11
namespace Sbm.Web.ApplicationCenter
12

{
13
/**//// <summary>
14
/// Custom HttpHandler, used to serve up AJAX requests. This class is responsible for providing
15
/// updated data to the client, in real time.
16
/// </summary>
17
public class GetMypic:System.Web.IHttpHandler
18
{
19
20
IHttpHandler implementation#region IHttpHandler implementation
21
22
void IHttpHandler.ProcessRequest(HttpContext context)
23
{
24
25
System.Text.StringBuilder builder=new System.Text.StringBuilder();
26
System.Collections.Queue updates=new System.Collections.Queue();
27
28
//Ensure that the server never serves up cached data.
29
context.Response.AddHeader("Prama","no-cache");
30
context.Response.CacheControl="private";
31
context.Response.Expires=0;
32
33
//Set our ContentType since we will be sending an XML package.
34
context.Response.ContentType="text/html";
35
36
37
38
string ImgNamePre="xz-";
39
string ImgName="";
40
//Now that we have our update queue, lets serialize out as XML
41
42
for(int i=1;i<5;i++)
43
{
44
ImgName= ImgNamePre+i.ToString("000")+".jpg";
45
//builder.Append(String.Format("\t<record id='{0}' field='{1}' value='{2}' time='{3}' />\r\n",rec.ID,rec.Column,rec.Value.Substring(0,rec.Value.IndexOf('.')+3),rec.Time.ToLongTimeString()));
46
47
builder.Append(String.Format("<a href=\"mypic/
{0}\" title=\"
{1}\" > ",ImgName,"我的云南照片"));
48
builder.Append(String.Format("<img src=\"mypic/
{0}\" alt=\"云南\" /></a> ","little/"+ImgName));
49
50
51
}
52
53
54
string hh = builder.ToString();
55
56
string t=String.Format(" var h='{0}' ;\r\n ",hh);
57
t=t+String.Format(" hh='{0}' ;\r\n ",hh);
58
t=t+ " say(h); " ;
59
60
61
//string outstr = String.Format(" var h='{0}'; \r\n say(h); ",hh);
62
63
64
65
context.Response.Output.Write(t);
66
context.Response.Flush();
67
context.Response.Close();
68
}
69
bool IHttpHandler.IsReusable
70
{
71
get
{ return true; }
72
}
73
#endregion
74
75
}
}
126
在站点b.com 有b.ashx , http://b.com/b.ashx
在a.com 的代码可以调用b中的代码返回的数据。
a.htm
1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"2
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">3
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="utf-8" >4
<head>5
<title>Openkava ※ Openkave</title>6
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 7
</head>8

9
<body>10
<div id="newmessage">11
message: 12
</div>13
<script type="text/javascript">14
function say(h)15

{16
document.getElementById("newmessage").innerHTML=h;17
}18
function GScript(src) 19

{document.write('<' + 'script src="' + src + '"' +' type="text/javascript"><' + '/script>');}20
</script> 21
22
<script type="text/javascript">23
var url = http://b.com/b.ashx?url=ddd;24
url = encodeURI(url); 25
//Submit to server with a trick 26
//var js_obj = document.createElement( "script" ); 27
//js_obj.type = "text/javascript" ; 28
//js_obj.setAttribute( "src" , url); 29
30
//Get response from server by appending it to document31
32
// document.body.appendChild(js_obj); 33
GScript(url);34
var hh=""; 35
// document.write('<script src="' + 'http://127.0.0.1/myhomepage/js.ashx?url=ddd' + '"' +' type="text/javascript"></sc'+'ript>'); 36
</script>37
<script type="text/javascript">38
alert(hhh);39
40
41
</script> 42
43
44
45

46
</body>47
</html>1
<% @ webhandler language="C#" class="Sbm.Web.ApplicationCenter.GetMypic" %>2
3
using System;4
using System.Web;5
using System.Web.SessionState;6
using System.Drawing;7
using System.Drawing.Imaging;8
using System.Text;9
using System.Collections;10
11
namespace Sbm.Web.ApplicationCenter12


{13

/**//// <summary>14
/// Custom HttpHandler, used to serve up AJAX requests. This class is responsible for providing15
/// updated data to the client, in real time.16
/// </summary>17
public class GetMypic:System.Web.IHttpHandler18

{19
20

IHttpHandler implementation#region IHttpHandler implementation21
22
void IHttpHandler.ProcessRequest(HttpContext context)23

{24
25
System.Text.StringBuilder builder=new System.Text.StringBuilder();26
System.Collections.Queue updates=new System.Collections.Queue();27

28
//Ensure that the server never serves up cached data.29
context.Response.AddHeader("Prama","no-cache");30
context.Response.CacheControl="private";31
context.Response.Expires=0;32

33
//Set our ContentType since we will be sending an XML package.34
context.Response.ContentType="text/html";35
36
37
38
string ImgNamePre="xz-";39
string ImgName="";40
//Now that we have our update queue, lets serialize out as XML41
42
for(int i=1;i<5;i++)43

{44
ImgName= ImgNamePre+i.ToString("000")+".jpg";45
//builder.Append(String.Format("\t<record id='{0}' field='{1}' value='{2}' time='{3}' />\r\n",rec.ID,rec.Column,rec.Value.Substring(0,rec.Value.IndexOf('.')+3),rec.Time.ToLongTimeString()));46
47

builder.Append(String.Format("<a href=\"mypic/
{0}\" title=\"
{1}\" > ",ImgName,"我的云南照片"));48

builder.Append(String.Format("<img src=\"mypic/
{0}\" alt=\"云南\" /></a> ","little/"+ImgName));49
50

51
}52
53
54
string hh = builder.ToString(); 55
56
string t=String.Format(" var h='{0}' ;\r\n ",hh);57
t=t+String.Format(" hh='{0}' ;\r\n ",hh);58
t=t+ " say(h); " ;59
60
61
//string outstr = String.Format(" var h='{0}'; \r\n say(h); ",hh);62
63
64
65
context.Response.Output.Write(t);66
context.Response.Flush();67
context.Response.Close();68
}69
bool IHttpHandler.IsReusable70

{71

get
{ return true; }72
}73
#endregion74
75
}}
126

浙公网安备 33010602011771号