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