日期:2014-05-16  浏览次数:20703 次

jquery ajax -1
jQuery.ajax([options]) 閫氳繃 HTTP 璇锋眰鍔犺浇杩滅▼鏁版嵁
jQuery 搴曞眰 AJAX 瀹炵幇銆傜畝鍗曟槗鐢ㄧ殑楂樺眰瀹炵幇瑙?$.get, $.post 绛夈€?.ajax() 杩斿洖鍏跺垱寤虹殑 XMLHttpRequest 瀵硅薄銆傚ぇ澶氭暟鎯呭喌涓嬩綘鏃犻渶鐩存帴鎿嶄綔璇ュ嚱鏁帮紝闄ら潪浣犻渶瑕佹搷浣滀笉甯哥敤鐨勯€夐」锛屼互鑾峰緱鏇村鐨勭伒娲绘€с€?

鏈€绠€鍗曠殑鎯呭喌涓嬶紝$.ajax()鍙互涓嶅甫浠讳綍鍙傛暟鐩存帴浣跨敤銆?

鍥炶皟鍑芥暟

濡傛灉瑕佸鐞?.ajax()寰楀埌鐨勬暟鎹紝鍒欓渶瑕佷娇鐢ㄥ洖璋冨嚱鏁般€俠eforeSend銆乪rror銆乨ataFilter銆乻uccess銆乧omplete銆?

beforeSend 鍦ㄥ彂閫佽姹備箣鍓嶈皟鐢紝骞朵笖浼犲叆涓€涓猉MLHttpRequest浣滀负鍙傛暟銆?
error 鍦ㄨ姹傚嚭閿欐椂璋冪敤銆備紶鍏MLHttpRequest瀵硅薄锛屾弿杩伴敊璇被鍨嬬殑瀛楃涓蹭互鍙婁竴涓紓甯稿璞★紙濡傛灉鏈夌殑璇濓級
dataFilter 鍦ㄨ姹傛垚鍔熶箣鍚庤皟鐢ㄣ€備紶鍏ヨ繑鍥炵殑鏁版嵁浠ュ強"dataType"鍙傛暟鐨勫€笺€傚苟涓斿繀椤昏繑鍥炴柊鐨勬暟鎹紙鍙兘鏄鐞嗚繃鐨勶級浼犻€掔粰success鍥炶皟鍑芥暟銆?
success 褰撹姹備箣鍚庤皟鐢ㄣ€備紶鍏ヨ繑鍥炲悗鐨勬暟鎹紝浠ュ強鍖呭惈鎴愬姛浠g爜鐨勫瓧绗︿覆銆?
complete 褰撹姹傚畬鎴愪箣鍚庤皟鐢ㄨ繖涓嚱鏁帮紝鏃犺鎴愬姛鎴栧け璐ャ€備紶鍏MLHttpRequest瀵硅薄锛屼互鍙婁竴涓寘鍚垚鍔熸垨閿欒浠g爜鐨勫瓧绗︿覆銆?

鏁版嵁绫诲瀷

$.ajax()鍑芥暟渚濊禆鏈嶅姟鍣ㄦ彁渚涚殑淇℃伅鏉ュ鐞嗚繑鍥炵殑鏁版嵁銆傚鏋滄湇鍔″櫒鎶ュ憡璇磋繑鍥炵殑鏁版嵁鏄疿ML锛岄偅涔堣繑鍥炵殑缁撴灉灏卞彲浠ョ敤鏅€氱殑XML鏂规硶鎴栬€卝Query鐨勯€夋嫨鍣ㄦ潵閬嶅巻銆傚鏋滆寰楀埌鍏朵粬绫诲瀷锛屾瘮濡侶TML锛屽垯鏁版嵁灏变互鏂囨湰褰㈠紡鏉ュ寰呫€?

閫氳繃dataType閫夐」杩樺彲浠ユ寚瀹氬叾浠栦笉鍚屾暟鎹鐞嗘柟寮忋€傞櫎浜嗗崟绾殑XML锛岃繕鍙互鎸囧畾 html銆乯son銆乯sonp銆乻cript鎴栬€卼ext銆?

鍏朵腑锛宼ext鍜寈ml绫诲瀷杩斿洖鐨勬暟鎹笉浼氱粡杩囧鐞嗐€傛暟鎹粎浠呯畝鍗曠殑灏哫MLHttpRequest鐨剅esponseText鎴杛esponseHTML灞炴€т紶閫掔粰success鍥炶皟鍑芥暟锛?

娉ㄦ剰锛屾垜浠繀椤荤‘淇濈綉椤垫湇鍔″櫒鎶ュ憡鐨凪IME绫诲瀷涓庢垜浠€夋嫨鐨刣ataType鎵€鍖归厤銆傛瘮濡傝锛孹ML鐨勮瘽锛屾湇鍔″櫒绔氨蹇呴』澹版槑 text/xml 鎴栬€?application/xml 鏉ヨ幏寰椾竴鑷寸殑缁撴灉銆?

濡傛灉鎸囧畾涓篽tml绫诲瀷锛屼换浣曞唴宓岀殑JavaScript閮戒細鍦℉TML浣滀负涓€涓瓧绗︿覆杩斿洖涔嬪墠鎵ц銆傜被浼肩殑锛屾寚瀹歴cript绫诲瀷鐨勮瘽锛屼篃浼氬厛鎵ц鏈嶅姟鍣ㄧ鐢熸垚JavaScript锛岀劧鍚庡啀鎶婅剼鏈綔涓轰竴涓枃鏈暟鎹繑鍥炪€?

濡傛灉鎸囧畾涓簀son绫诲瀷锛屽垯浼氭妸鑾峰彇鍒扮殑鏁版嵁浣滀负涓€涓狫avaScript瀵硅薄鏉ヨВ鏋愶紝骞朵笖鎶婃瀯寤哄ソ鐨勫璞′綔涓虹粨鏋滆繑鍥炪€備负浜嗗疄鐜拌繖涓洰鐨勶紝浠栭鍏堝皾璇曚娇鐢↗SON.parse()銆傚鏋滄祻瑙堝櫒涓嶆敮鎸侊紝鍒欎娇鐢ㄤ竴涓嚱鏁版潵鏋勫缓銆侸SON鏁版嵁鏄竴绉嶈兘寰堟柟渚块€氳繃JavaScript瑙f瀽鐨勭粨鏋勫寲鏁版嵁銆傚鏋滆幏鍙栫殑鏁版嵁鏂囦欢瀛樻斁鍦ㄨ繙绋嬫湇鍔″櫒涓婏紙鍩熷悕涓嶅悓锛屼篃灏辨槸璺ㄥ煙鑾峰彇鏁版嵁锛夛紝鍒欓渶瑕佷娇鐢╦sonp绫诲瀷銆備娇鐢ㄨ繖绉嶇被鍨嬬殑璇濓紝浼氬垱寤轰竴涓煡璇㈠瓧绗︿覆鍙傛暟 callback=? 锛岃繖涓弬鏁颁細鍔犲湪璇锋眰鐨刄RL鍚庨潰銆傛湇鍔″櫒绔簲褰撳湪JSON鏁版嵁鍓嶅姞涓婂洖璋冨嚱鏁板悕锛屼互渚垮畬鎴愪竴涓湁鏁堢殑JSONP璇锋眰銆傚鏋滆鎸囧畾鍥炶皟鍑芥暟鐨勫弬鏁板悕鏉ュ彇浠i粯璁ょ殑callback锛屽彲浠ラ€氳繃璁剧疆$.ajax()鐨刯sonp鍙傛暟銆?

娉ㄦ剰锛孞SONP鏄疛SON鏍煎紡鐨勬墿灞曘€備粬瑕佹眰涓€浜涙湇鍔″櫒绔殑浠g爜鏉ユ娴嬪苟澶勭悊鏌ヨ瀛楃涓插弬鏁般€傛洿澶氫俊鎭彲浠ュ弬闃?鏈€鍒濈殑鏂囩珷銆?

濡傛灉鎸囧畾浜唖cript鎴栬€卝sonp绫诲瀷锛岄偅涔堝綋浠庢湇鍔″櫒鎺ユ敹鍒版暟鎹椂锛屽疄闄呬笂鏄敤浜?lt;script>鏍囩鑰屼笉鏄疿MLHttpRequest瀵硅薄銆傝繖绉嶆儏鍐典笅锛?.ajax()涓嶅啀杩斿洖涓€涓猉MLHttpRequest瀵硅薄锛屽苟涓斾篃涓嶄細浼犻€掍簨浠跺鐞嗗嚱鏁帮紝姣斿beforeSend銆?

鍙戦€佹暟鎹埌鏈嶅姟鍣?

榛樿鎯呭喌涓嬶紝Ajax璇锋眰浣跨敤GET鏂规硶銆傚鏋滆浣跨敤POST鏂规硶锛屽彲浠ヨ瀹歵ype鍙傛暟鍊笺€傝繖涓€夐」涔熶細褰卞搷data閫夐」涓殑鍐呭濡備綍鍙戦€佸埌鏈嶅姟鍣ㄣ€?

data閫夐」鏃㈠彲浠ュ寘鍚竴涓煡璇㈠瓧绗︿覆锛屾瘮濡?key1=value1&key2=value2 锛屼篃鍙互鏄竴涓槧灏勶紝姣斿 {key1: 'value1', key2: 'value2'} 銆傚鏋滀娇鐢ㄤ簡鍚庤€呯殑褰㈠紡锛屽垯鏁版嵁鍐嶅彂閫佸櫒浼氳杞崲鎴愭煡璇㈠瓧绗︿覆銆傝繖涓鐞嗚繃绋嬩篃鍙互閫氳繃璁剧疆processData閫夐」涓篺alse鏉ュ洖閬裤€傚鏋滄垜浠笇鏈涘彂閫佷竴涓猉ML瀵硅薄缁欐湇鍔″櫒鏃讹紝杩欑澶勭悊鍙兘骞朵笉鍚堥€傘€傚苟涓斿湪杩欑鎯呭喌涓嬶紝鎴戜滑涔熷簲褰撴敼鍙榗ontentType閫夐」鐨勫€硷紝鐢ㄥ叾浠栧悎閫傜殑MIME绫诲瀷鏉ュ彇浠i粯璁ょ殑 application/x-www-form-urlencoded