使用YUI,如何使用RecordSet汇编请求并将表单提交给服务器?

时间:2010-05-22 11:29:48

标签: forms yui postback submit

您能否为我提供一个简单的示例,用于组装请求并使用RecordSet发送到服务器?如果有人知道如何,请在此处发布。

另外,我如何处理表格后期,任何想法?

谢谢!

1 个答案:

答案 0 :(得分:0)

这有两个相当独立的部分。我通常会沿着这些方向使用。

首先,您希望从数据表中获取所有数据:

    function getAllData(dataTable) {
       var aData = [];
       var aRecs = dataTable.getRecordSet().getRecords();
       for (i=0; i < aRecs.length; i++) {
           aData.push(aRecs[i].getData());
       }
       return(aData)
    }

接下来你要张贴它。由于这是一个复杂的数据结构(数据行数组),因此最简单的方法就是将其编码为JSON。然后,您可以在save.cgi中解码它:

    function postDataToServer(aRows) {
        YAHOO.util.Connect.asyncRequest(
            'POST', 'cgi-bin/save.cgi', {
                success: function (o) {
                    // Examine output of save.cgi in o.responseText
                },
                failure: function (o) {
                    // Error text in in o.responseText
                }
            }, "data="+encodeURIComponent(YAHOO.lang.JSON.stringify(aData))
        );
    };

脚本save.cgi需要检查传递“data”参数的值。