程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> ajax 跨域解決方法,ajax跨域

ajax 跨域解決方法,ajax跨域

編輯:關於PHP編程

ajax 跨域解決方法,ajax跨域


最近在開發過程中,使用ajax去異步調取圖片。在開發中這個功能沒什麼問題,可以後來提測,重新部署之後就有問題了,這就是ajax的跨域問題。

ajax本身是不支持跨域的,這是由於javascript的同源策略所導致。但是我們可以通過其他方法來解決ajax的跨域問題。

1  由於我們是利用了jquery來寫的ajax,我們一開始是准備 利用jsonp來解決的,客戶端類似下面寫法

$.ajax({
	type : "get",
	async:false,
	url : "http://www.xxx.com/ajax.do",
	dataType : "jsonp",
	jsonp: "callbackparam",//服務端用於接收callback調用的function名的參數
	jsonpCallback:"success_jsonpCallback",//callback的function名稱
	success : function(json){
		alert(json);
		alert(json[0].name);
	},
	error:function(){
		alert('fail');
	}
});

  服務器端寫法

public void ProcessRequest (HttpContext context) {
	context.Response.ContentType = "text/plain";
	String callbackFunName = context.Request["callbackparam"];
	context.Response.Write(callbackFunName + "([ { name:\"John\"}])");
}

  這個方法其實蠻簡單的,跟我們之前寫的改動不大。

2  由於我們這次項目開發的頁面比較多,改動起來涉及的地方就比較多了。最後是采取的 直接修改nginx配置實現的。平時對反向代理的理解也就是 緩存、安全、負載均衡,所以查了下方向代理

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved