JBTALKS.CC

标题: AJAX 疑问 [打印本页]

作者: 宅男-兜着走    时间: 2009-10-9 09:29 AM
标题: AJAX 疑问
问题是如此。

假设有一个form的资料, 一个form 里面有很多笔资料。
比如: item1, item2, item3, item4, 相关的资料。(抱歉, 不会解释)

我要怎么send 出去呢? 通过 XML ?

顺便问个问题, 找了整天了。 那个 jquery submit preloding 的plugin 要去哪里找?
作者: goodday    时间: 2009-10-9 09:48 AM
Json 是你要的答案

作者: Super-Tomato    时间: 2009-10-9 10:09 AM
原帖由 宅男-兜着走 于 2009-10-9 09:29 AM 发表
问题是如此。

假设有一个form的资料, 一个form 里面有很多笔资料。
比如: item1, item2, item3, item4, 相关的资料。(抱歉, 不会解释)

我要怎么send 出去呢? 通过 XML ?

顺便问个问题, 找 ...



你在創建 AJAX 的時候, 不就引用了 XMLHttpRequest class 或 ActiveXObject 嗎??
提交只要定義了 header 類型和所傳送資料長度之後就可以把你的 input 等資料通過 parameters 方式傳送出去, 其提交的概念方式和普通提交是一樣的


jquery 的 plugin 當然是到官網的 plugin 收集站找最方便啊
作者: 宅男-兜着走    时间: 2009-10-9 01:58 PM
原帖由 goodday 于 2009-10-9 09:48 AM 发表
Json 是你要的答案



Json ?? plugin 的名字?? 暗示到几吝啬下

不是, 我不是说这个。。。 我是说假设。 1 对 多的关系。
那个 "多" 的资料。
这样就没理由 loop 进 parameter 了吧 -.-|||。

一个个资料进去我会。
作者: gee9043    时间: 2009-10-9 02:15 PM
JSON是 JavaScript Object Notation.

应该吧~
作者: Super-Tomato    时间: 2009-10-9 02:16 PM
原帖由 宅男-兜着走 于 2009-10-9 01:58 PM 发表



Json ?? plugin 的名字?? 暗示到几吝啬下

不是, 我不是说这个。。。 我是说假设。 1 对 多的关系。
那个 "多" 的资料。
这样就没理由 loop 进 parameter 了吧 -.-|||。

一个个资料进去我会。



當然是使用 javascript 取得 form 的所有 childnodes 進行 looping 啊 ~_~"
作者: 宅男-兜着走    时间: 2009-10-9 03:12 PM
原帖由 Super-Tomato 于 2009-10-9 02:16 PM 发表



當然是使用 javascript 取得 form 的所有 childnodes 進行 looping 啊 ~_~"



等等, 具体点。 forms 的childnode 是什么意思?
假设我通过 js 生成 XML string 的话 会比较不理想?
作者: 宅男-兜着走    时间: 2009-10-9 03:14 PM
原帖由 gee9043 于 2009-10-9 02:15 PM 发表
JSON是 JavaScript Object Notation.

应该吧~



你很会假假, 没底会说出这么吓人的名词??
那么是什么鬼? 我很多plugin 都是 JSON 的。 我以为是人的名字。
作者: Super-Tomato    时间: 2009-10-9 03:45 PM
原帖由 宅男-兜着走 于 2009-10-9 03:12 PM 发表



等等, 具体点。 forms 的childnode 是什么意思?
假设我通过 js 生成 XML string 的话 会比较不理想?



DOM <--- 先了解他
AJAX <---- 再來具體了解他的 Class 結構
POST/GET Method <---- 了解其傳送結構


這三點研究了之後你就會容易掌握很多網頁資料方面傳送的問題了
作者: 宅男-兜着走    时间: 2009-10-9 06:24 PM
标题: 回复 #9 Super-Tomato 的帖子
一针见血。 多谢你的回复。
作者: Super-Tomato    时间: 2009-10-9 07:14 PM
原帖由 宅男-兜着走 于 2009-10-9 06:24 PM 发表
一针见血。 多谢你的回复。



有些重点自己去发觉會更加容易掌握, 這個网址讓你參考
http://www.w3.org/TR/html401/interact/forms.html#h-17.13.4.1
作者: 宅男-兜着走    时间: 2009-10-9 07:41 PM

<html>
<title>ajax + jquery tutorial.</title>
<script src="jquery-1.3.2.min.js"></script>
<script language="javascript" src="ajax.js"> </script>
<head> </head>

<script language="javascript">

function connect(){
        httpObject = getHTTPObject(); // 得知使用者的 Browser 支持不支持AJAX
        if(httpObject != null){  // return 不是null, 执行。
        httpObject.open("POST" , "my_class.php" , true); // URL
        var params = ''; // variable , 准备被 POST 的。
        var obj = document.getElementsByName('send'); // 下面的textinput。
       
        for(i=0; i < obj.length; i++){
                params+= i>0? "&send[]="+obj.value : "send[]="+obj.value; // 准备要post 的data
                }
        httpObject.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
        httpObject.setRequestHeader("Content-length", params.length);
        httpObject.setRequestHeader("Connection", "close");
        httpObject.onreadystatechange =function(){
                if(httpObject.readyState == 4){
                alert(httpObject.responseText);
                }
                }
       
        httpObject.send(params);
        }
        }


</script>
<body>
<script language="javascript">
for(i=0; i < 20; i++){
document.write("<input type='text' name='send'><br>");
}
</script>
<input type="button" value="test_ajax" onMouseDown="connect()"/>
</body>


</html>

刚才练习了下。
外国有个kalao 说, 把这个URL POST 的东西变成PHPARRAY, 那么就省了很多时间了。 但是刚才使用的时候怪怪的感觉。 有时可以有时不可以。 而且使用者有"&"的话直接读取出问题。

params+= i>0? "&send[]="+obj.value : "send[]="+obj.value;
作者: Super-Tomato    时间: 2009-10-9 07:44 PM
原帖由 宅男-兜着走 于 2009-10-9 07:41 PM 发表

刚才练习了下。
外国有个kalao 说, 把这个URL POST 的东西变成PHPARRAY, 那么就省了很多时间了。 但是刚才使用的时候怪怪的感觉。 有时可以有时不可以。 而且使用者有"&"的话直接读取出问题。

params+= ...


i>0? "&send[]="+obj.value : "send[]="+obj.value;

這樣 javascript 不會报错?

作者: Super-Tomato    时间: 2009-10-9 07:59 PM
原帖由 宅男-兜着走 于 2009-10-9 07:41 PM 发表

刚才练习了下。
外国有个kalao 说, 把这个URL POST 的东西变成PHPARRAY, 那么就省了很多时间了。 但是刚才使用的时候怪怪的感觉。 有时可以有时不可以。 而且使用者有"&"的话直接读取出问题。

params+= ...



這個例子寫給你參考


<html>
<head>
<title>Super-Tomato List Input</title>
<script type="text/javascript">
    function listInput(form)
    {
        var param = new Array();
        
        for(var j=0; j<form.childNodes.length; j++)
        {
            var node = form.childNodes[j];
            if(node.tagName == "INPUT" && node.name.length)
            {
                param.push(node.name+"="+node.value);
            }
        }
        
        alert(param.join("&"));
        return false;
    }
</script>
</head>
<body>
    <form action="" method="post" >
        Input 1 : <input type="text" name="item1" /><br />
        Input 2 : <input type="text" name="item2" /><br />
        <input type="submit" value="Submit" />
    </form>
</body>
</html>
作者: 宅男-兜着走    时间: 2009-10-9 07:59 PM
标题: 回复 #13 Super-Tomato 的帖子
不会啊 -.- ||| 会报错的吗?
作者: Super-Tomato    时间: 2009-10-9 08:05 PM
原帖由 宅男-兜着走 于 2009-10-9 07:59 PM 发表
不会啊 -.- ||| 会报错的吗?



忘了... 你的 FF 没有安裝 Plugin 所以看不到错误,用 IE 左下角會出現惊叹号
作者: 宅男-兜着走    时间: 2009-10-9 08:07 PM
原帖由 Super-Tomato 于 2009-10-9 07:59 PM 发表



這個例子寫給你參考




Super-Tomato List Input

    function listInput(form)
    {
        var param = new Array();
        
        for(var j=0; j


看到了,但是你的form 忘记 set event 。-.-|||
感谢。
作者: Super-Tomato    时间: 2009-10-9 08:10 PM
原帖由 宅男-兜着走 于 2009-10-9 08:07 PM 发表


看到了,但是你的form 忘记 set event 。-.-|||
感谢。



我是在 <form 标签中加入了 event , 提交的時候被过滤掉了
作者: 宅男-兜着走    时间: 2009-10-9 08:25 PM
标题: 回复 #18 Super-Tomato 的帖子
这个执行速度是吓到我下。超快。 我用你的方法, 果然完全不同。




欢迎光临 JBTALKS.CC (https://jbtalks.my/) Powered by Discuz! X2.5