ä¸ãåæºçç¥ Â Â Â Â Â Â Â Â åæºçç¥ï¼Same origin policyï¼æ¯ä¸ç§çº¦å®ï¼å®æ¯æµè§å¨ææ ¸å¿ä¹æåºæ¬çå®å ¨åè½ï¼å¦æ缺å°äºåæºçç¥ï¼åæµè§å¨çæ£å¸¸åè½å¯è½é½ä¼åå°å½±åãå¯ä»¥è¯´Webæ¯æ建å¨åæºçç¥åºç¡ä¹çï¼æµè§å¨åªæ¯é对åæºçç¥çä¸ç§å®ç°ã        åæºçç¥ï¼å®æ¯ç±Netscapeæåºçä¸ä¸ªèåçå®å ¨çç¥ã ç°å¨æææ¯æJavaScript ç æµè§å¨ é½ä¼ä½¿ç¨è¿ä¸ªçç¥ã æè°åæºæ¯æï¼ååï¼åè®®ï¼ç«¯å£ç¸åã å½ä¸ä¸ªæµè§å¨ç两个tab页ä¸åå«æå¼æ¥ ç¾åº¦åè°·æçé¡µé¢ å½æµè§å¨çç¾åº¦tab页æ§è¡ä¸ä¸ªèæ¬çæ¶åä¼æ£æ¥è¿ä¸ªèæ¬æ¯å±äºåªä¸ªé¡µé¢çï¼ å³æ£æ¥æ¯å¦åæºï¼åªæåç¾åº¦åæºçèæ¬æä¼è¢«æ§è¡ã        为äºå¥½ç解ï¼ä¸¾ä¸ªä¾åï¼ Â Â Â Â Â Â Â å¨localhost:8082ålocalhost:24253æTEST.js,å ¶ä¸TEST.jså 容æ¯alert("Hello World");        localhost:8082çæµè¯ä»£ç ä¸ºï¼ Â Â Â Â
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
<script src="/common/js/lib-base.js"></script>
<script>
function test(){
$.get("http://localhost:24253/TEST.js", function (data) {
console.log(data)
});
$.get("/common/js/TEST.js", function (data) {
console.log(data)
});
$.get("http://localhost:8082/common/js/TEST.js", function (data) {
console.log(data)
});
}
</script>
</head>
<body>
<div><input type="button" value="test" οnclick="test()"/></div>
</body>
</html>
ç¹å»æé®teståï¼å¼¹åºä¸¤ä¸ªHello World,å ¶ä¸å¨è¯·æ±å¦å¤ä¸ä¸ªåèµæºçæ¶åï¼å 为åæºçç¥èä¸è½è¯»åã            Â
       ä½æ¯å¨é¡µé¢ä¸å å ¥<script src="http://localhost:24253/TEST.js></script>å°±å¯ä»¥ç»è¿åæºçç¥ï¼å 为è¿æ ·æ¯æ¬å°æå¡å¨è®¿é®è¿ç¨æå¡å¨çä¿¡æ¯ã      2ãç解JSONPè·¨å     JSONPæ£æ¯ä¸ºäºè§£å³åæºçç¥çé®é¢ï¼å®çåºæ¬åçå°±æ¯åå©scriptæ ç¾srcå±æ§çè·¨åè½åï¼éè¿srcè¿åçâåè°å½æ°å+jsonæ°æ®âã ç¶åå¨åå°çåè°å½æ°ä¸æ§è¡è¯¥æ¹æ³ã       æ们å æ¥çä¸ä¸ªJSONP示ä¾ï¼      å¨localhost:8082ä¸æ建ä¸ä¸ªjsonæ ¼å¼æ°æ®ï¼ç¶åå¨localhost:24253ä¸æµè¯ï¼      locahost:8082çé¾æ¥åç»æå¦ä¸ï¼ Â
   å¨localhost:24253ä¸è°ç¨ä»£ç å¦ä¸ï¼    Â
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
<script src="jquery-1.7.2.min.js"></script>
<script>
function CreateScript(src) {
$("<script><//script>").attr("src", src).appendTo("body");
}
function getData() {
CreateScript("http://localhost:8082/eap/testJSONP");
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<input type="button" value="get value from localhost:8082" οnclick="getData()" />
</div>
</form>
</body>
</html>
 æ§è¡åï¼åºç°å¦ä¸é误ï¼å ä¸ºä¼ åçjsonæ°æ®ä¼å½jsæ§è¡ã
  3ãJSONP示ä¾ï¼åçæé ä¸JQueryï¼ ç°å¨æ们å¨localhost:8082å¦æé ä¸ä¸ªâåè°å½æ°+jsonç±»åâçæ¹æ³http://localhost:8082/eap/testJSONP_1?callback=jsonpcallback
èå¨localhost:24253éè¿è¿ç§æ¹å¼å³å¯è°ç¨æåï¼ä»£ç å¦ä¸ï¼
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
<script src="jquery-1.7.2.min.js"></script>
<script src="json2.js"></script>
<script>
function CreateScript(src) {
$("<script><//script>").attr("src", src).appendTo("body");
}
function getData() {
CreateScript("http://localhost:8082/eap/testJSONP_1?callback=jsonpcallback");
}
function jsonpcallback(data) {
alert(JSON.stringify(data));
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<input type="button" value="get value from localhost:8082" οnclick="getData()" />
</div>
</form>
</body>
</html>
 ç»æå¦ä¸ï¼ Â
Â
èåå©äºJQueryåå¯è½»æ¾å®ç°ï¼
function getData() {
$.ajax({
url: 'http://localhost:8082/eap/testJSONP_1',
dataType: "jsonp",
jsonp: "callback",
success: function (data) {
alert(JSON.stringify(data));
}
})
}
Â