首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Ajax >

Ajax 、form、url终竟什么关系

2013-06-19 
Ajax 、form、url到底什么关系啊本帖最后由 showbo 于 2013-05-02 15:08:55 编辑Ajax异步提交,这个我大概知

Ajax 、form、url到底什么关系啊
本帖最后由 showbo 于 2013-05-02 15:08:55 编辑 Ajax异步提交,这个我大概知道,就是在server发来响应之前这段时间无须傻等,可以继续执行用户其他操作。
但是网上还说有第二种提交方式:form表单提交。form提交与Ajax是并列的?之前看到过这种使用方法:

a.xsl

<?xml version = "1.0" encoding = "gb2312"?>
<xsl:stylesheet version = "1.0" xmlns:xsl = "http://www.w3.org/1999/XSL/Transform">
<xsl:template match = "/">
    <script type = "text/javascript" language = "javascript" src = "A.js">
    </script>
    
    <form id = "form1" name ="form1" target = "FrmSubmit" onsubmit = "return OnSubApply(this)" method = "post">
       <input type = "text" class = "textbox" id = "time1" style = "width:400"/> 
       <input type = "text" class = "textbox" id = "time2" style = "width:400"/>
       <input name ="ApplyButton" value = "提交"   id = "ApplyButton" type = "submit" class = "buttonX"/>
       <input name ="CancleButton" value = "取消"  id = "CancleButton" type = "button" class = "buttonX"  onclick = "OnCancleButton()"/> 
    </form>


   <xsl:call-template name = "xx">
   </xsl:call-template>

    <form id = "form1" name ="form1"  onsubmit = "" method = "post">
        <xsl:call-template name = "yy"> 
        </xsl:call-template>
    </form>

    <iframe id = "TABchange" name = "TABchange" scrolling = "yes"  src = "A.html"> 
    </iframe>
</xsl:template>


A.js
function OnCancleButton()
{
    return false;
}

function fuc1()
{
    XXXXXXXXXXX;
}

function OnSubApply(this)
{
    time01 = document.getElementById("time1").value;
    time01 = document.getElementById("time1").value;

    oRequest = new XmlRequest;
    oRequest.add(TIME1, time01);
    oRequest.add(TIME2, time02);
  
    Frame.Ajax.send("/wcn/mco.x?", oRequest,fuc1, {bProcErroe: true});
}


问题:
1、xsl里的form用的是Ajax提交?
2、Ajax无刷新提交为啥这里没有体现呢?因为我点击“提交”以后页面还是会刷新的
3、url提交和href提交还有form提交、Ajax提交。。。到底哪儿跟哪儿啊!
URL Ajax XSL


[解决办法]
1,Frame.Ajax.send。。这个应该是ajax提交吧。。没见源代码不好判断

2,如果刷新了页面就不是ajax提交了,而是表单提交

不知道楼主的刷新是指出现了进度条还是整个页面转向了?
如果是出现进度条,那么是表单提交到了隐藏的iframe来实现无刷新,这样和普通的表单提交一样,只是指定了表单的target提交到iframe,不会刷新父页面,但是浏览器会出现进度条

整个页面刷新就是普通的表单提交了

3,url和href提交只能是get,参数放到url后面,如xxx.asp?un=xxx&pwd=xxxx...其他的

form表单可以通过指定method属性指定为get或者post提交,会加载action指定的url地址,浏览器会出现进度条【提交到iframe】或者刷新整个页面

ajax包含上面的get/post提交或者http允许的提交方法,delete上面之类的,只是不会刷新页面,但是有缺点就是无法执行返回的js代码,需要自己解析执行js代码
[解决办法]

function OnSubApply(this)
{
    time01 = document.getElementById("time1").value;
    time01 = document.getElementById("time1").value;
 
    oRequest = new XmlRequest;
    oRequest.add(TIME1, time01);
    oRequest.add(TIME2, time02);
   //这个矿建应该用的ajax发送的信息
    Frame.Ajax.send("/wcn/mco.x?", oRequest,fuc1, {bProcErroe: true});

return false;//阻止表单提交
}


至于如何接受数据和服务器交互,楼主最好先去了解基本的html知识和一门动态语言,这种都是很基本的知识,搜下就有了


[解决办法]
function OnSubApply(this)
{
    time01 = document.getElementById("time1").value;
    time01 = document.getElementById("time1").value;
 
    oRequest = new XmlRequest;
    oRequest.add(TIME1, time01);
    oRequest.add(TIME2, time02);
   
    Frame.Ajax.send("/wcn/mco.x?", oRequest,fuc1, {bProcErroe: true});
    return false;//因为已经用ajax提交了,所以要阻止按钮自动进行的非ajax提交
}
[解决办法]
这个就是个拼url的语句,TABChange 是不是一个iframe?
[解决办法]
引用:
是一个iframe的id,也是name,代码里写着呢。
url是怎么用的 


url就是网址啊,地址。TABChange.location 就是这个子frame地址设成新的url,frame自己会去那个网址加载页面。
[解决办法]
引用:
Quote: 引用:

这个就是个拼url的语句,TABChange 是不是一个iframe?


是一个iframe的id,也是name,代码里写着呢。
url是怎么用的

你要搞清楚说明是ajax
ajax不只是js代码,ajax是通讯方式,所以客户端与服务端都需要写代码,过程是客户端向url参数指定的目标发起ajax请求,然后服务端收到请求,相应的处理程序会执行一些代码,并可以往客户端写一些数据,客户端在ajax的回调函数里面可以获得
url就是指定处理该ajax请求的服务端程序接口

热点排行