一、JavaScript
遠程web Target.ashx
public class Target : IHttpHandler { public void ProcessRequest (HttpContext context) { string funName = context.Request.Params["callbackFun"]; string strData = funName + "({\"name\":\"james\",\"age\":\"18\"});"; context.Response.Write(strData); } public bool IsReusable { get { return false; } } }
本地調用代碼:
<script>
function fun(data) { for (var key in data) { alert(data[key]); } } </script> <!--Script標簽可以跨域訪問--> <script type="text/javascript" src="http://www.oumind.com/C01Target.ashx?callbackFun=fun"></script>
二、Jquery
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title></title> <script type="text/javascript" src="js/jquery-1.9.0.min.js"></script> <script type="text/javascript"> var requestUrl = "http://www.oumind.com/C01Target.ashx"; window.onload = function () { document.getElementById("btnJQ").onclick = doJq; } function doJq() { //使用 jq 發送跨域請求 $.ajax(requestUrl, { type:"get", dataType: "jsonp",// 指定 jq 發送 jsonp 請求(內部,就是動態創建一個 script 標簽) jsonp: "callbackFun",// 指定 傳遞 函數名的 參數的名字 如: url?callbackFun = fun jsonpCallback: "fun",// 指定 回調 的 函數名 success: function () { alert("123123"); } }); } function fun(data) { for (var key in data) { alert(data[key]); } } </script> </head> <body> <input type="button" id="btnJQ" value="使用Jquery 跨域請求 - 內部其實就是動態創建 <script>標簽發送 跨域請求" /> </body> </html>
三、如果讀取的遠程數據僅在一個區域顯示,可以在遠程文件以document.write方式直接輸出到引用位置。