本文實(shí)例講述了ajax跨域(基礎(chǔ)域名相同)表單提交的方法。。具體如下:
1.要在做ajax提交的頁(yè)面中添加如下js語(yǔ)句:
<script type="text/javascript"> document.domain="基礎(chǔ)域名"; </script>
2.ajax表單提交表單時(shí)可以使用一個(gè)jquery的一個(gè)表單插件jquery.form.js
使用語(yǔ)法如下:
//fromPost為要收集數(shù)據(jù)的form表單的id $("#formPost").ajaxSubmit({ url:"跨域的業(yè)務(wù)處理地址", cache:false, dataType:"html", iframe:true, success:function (data){ //返回如果是json可以這樣處理一下,xml格式需要做其它的處理 eval("data="+data); if(data.flag == 'OK'){ }});
3.跨域的業(yè)務(wù)處理的返回值中必需含有以下語(yǔ)句
<script type="text/javascript"> document.domain="基礎(chǔ)域名";</script>
4.剩下的返回值可以是json,xml格式或其它自定義的格式,只要客戶(hù)端能夠解析出想要結(jié)果就可以
5.這樣在做ajax提交的頁(yè)面中就可以取到表單跨域提交后的返回值了,取到返回值后就可以接著做其它的處理了
說(shuō)明:
1.基礎(chǔ)域名:兩個(gè)及兩個(gè)以上域名的公有部分,公有部分至少要包含二級(jí)域名或二級(jí)域名之上的部分
2.document.domain="基礎(chǔ)域名"; //這句話(huà)是為了使域名相同,解除跨域的限制,詳見(jiàn):《js設(shè)置document.domain實(shí)現(xiàn)跨域的注意點(diǎn)分析》
3.關(guān)于跨域提交還有很多其它的解決辦法,如:《js同源策略詳解》
希望本文所述對(duì)大家的javascript程序設(shè)計(jì)有所幫助。
新聞熱點(diǎn)
疑難解答
圖片精選