满意请采纳。
1.什么是跨域
经常会在页面上使用ajax请求访问其他服务器的数据,此时,客户端会出现跨域问题.
跨域问题是由于javascript语言安全限制中的同源策略造成的.
简单来说,同源策略是指一段脚本只能读取来自同一来源的窗口和文档的属性,这里的同一来源指的是主机名、协议和端口号的组合.
2.解决方案:服务器端:
protected void Page_Load(object sender, EventArgs e)
{
string result = "callback({\"name\":\"zhangsan\",\"date\":\"2012-12-03\"})"
Response.Clear()
Response.Write(result)
Response.End()
}
客户端:
<!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>
<title></title>
<script type="text/javascript">
var result = null
window.onload = function () {
var script = document.createElement("script")
script.type = "text/javascript"
script.src = "http://192.168.0.101/ExampleBusinessApplication.Web/web2.aspx"
var head = document.getElementsByTagName("head")[0]
head.insertBefore(script, head.firstChild)
}
function callback(data) {
result = data
}
function b_click() {
alert(result.name)
}
</script>
</head>
<body>
<input type="button" value="click me!" onclick="b_click()" />
</body>
</html>
解决js跨域问题有以下一种方式使用jsonp
服务端代理
服务端设置Request Header头中Access-Control-Allow-Origin为指定可获取数据的域名