web開發中ajax非同步跨域請求,ajax是不支援跨域的,可以將ajax跨域轉換為後台httpwebrequest 請求
例項:請求service.asmx中的students方法 接受兩個引數 startmonth和endmonth
實現跨域請求:
首先建立乙個handler
修改方法
//引數和值
stream streamdata = request.inputstream;
streamreader reader = new streamreader(streamdata, asciiencoding.utf8);
string postdata = reader.readtoend();
byte content = encoding.utf8.getbytes(postdata);
try}
else if (request.requesttype.tolowerinvariant().equals("get"))
//返回請求結果
webresponse mres = mreq.getresponse();
stream mstream = mres.getresponsestream();
streamreader sr = new streamreader(mstream);
string strresult = sr.readtoend();
context.response.write(strresult );}}
catch (system.exception ee)}
webservice中web.config中沒有開啟get和post請求
success: function (dt) }
這種請求方式是無法成功的(如果開啟了,當然會請求成功)
配置檔案中如果只開啟了httpsoap1.1和httpsoap1.2協議:
httpsoap1.1請求
引數(具體)
var urlpar;
urlpar = '<?xml version="1.0" encoding="utf-8"?>';
urlpar = urlpar + '';
urlpar = urlpar + '';
urlpar = urlpar + '<
students xmlns="">';
urlpar = urlpar + '<
startmonth>';
urlpar = urlpar + 值;
urlpar = urlpar + 'startmonth>';
urlpar = urlpar + '<
endmonth>';
urlpar = urlpar + 值;
urlpar = urlpar + 'endmonth>';
urlpar = urlpar + 'students>';
urlpar = urlpar + '';
urlpar = urlpar + '';
httpsoap1.2請求
引數(具體)
var urlpar;
urlpar = '<?xml version="1.0" encoding="utf-8"?>';
urlpar = urlpar + '';
urlpar = urlpar + '';
urlpar = urlpar + '';
urlpar = urlpar + '';
urlpar = urlpar + 值;
urlpar = urlpar + 'startmonth>';
urlpar = urlpar + '';
urlpar = urlpar + 值;
urlpar = urlpar + 'endmonth>';
urlpar = urlpar + 'students>';
urlpar = urlpar + 'soap12:body>';
urlpar = urlpar + 'soap12:envelope>';
傳送ajax請求
success: function (dt) }
此方法不僅可以請求asmx還可以請求php、ashx、aspx。。。。。等
如有錯誤請指正
Ajax跨域請求
一 什麼是跨域請求 網域名稱它由http 協議 www 子網域名稱 baidu 主網域名稱 以及8080 埠號 組成,當另乙個網域名稱與其中任意一項對應不等的話,那麼我們說兩個網域名稱就是跨域的。如的頁面上我們要請求資料到上去,那麼就說這種請求是跨域請求。二 為什麼要講跨域請求 因為在一般的請求條件...
Ajax 跨域請求
隨筆 71 文章 0 客戶端js 服務端 1 string callbackfunname context.request callbackparam 2 context.response.write callbackfunname ps 客戶端的jsonp引數是用來通過url傳參,傳遞jsonpc...
ajax跨域請求
通過xhr實現ajax通訊的乙個主要的限制,於跨域安全策略。在預設情況下,xhr物件只能訪問與包含它的頁面位於同乙個域中的資源。這樣可以防止一些惡意行為。所謂的域,可以理解成網域名稱,如果這個xhr所在的頁面與請求的介面是在同乙個應用下面,那麼就不存在跨域的問題,它們是在同乙個域下面,例如這裡都在本...