MochaUI发布数据和MochaUI.updateContent

时间:2011-09-26 14:21:41

标签: javascript mootools

我正在玩mochaUI,并且很难让POST数据正常工作。我有一个表单和一个提交按钮。我正在使用MochaUI.updateContent在面板中工作。在主面板中,我有表格和以下js:

<script type="text/javascript" charset="utf-8">
$('stp1btn').addEvent('click', function(e){
    MochaUI.updateContent({
        element: $('mainPanel'),
        method: 'post',
        data: "w=1",
        url: '/postFile.php',
        title: 'Test Post Stuff durrrrrr',
        padding: { top: 8, right: 8, bottom: 8, left: 8 }
    });
});
</script>

哪个帖子到一个页面然后应该更新同一个面板。但是,我无法正确发布。即使在上面的例子中,样本数据只是“w = 1”,除了mochaUI中包含的mootools js文件之外,实际上发布的内容是“w = 1”:

这是来自Firebug的表单数据:

0:w
1:=
2:1
$family[name]:string
test:function (a,b){return((typeof a=="string")?new RegExp(a,b):a).test(this);
}
contains:function (a,b){return(b)?(b this b).indexOf(b a b)>-1:this.indexOf(a)>-1;}
clean:function (){return this.replace(/\s /g," ").trim();
}
camelCase:function (){return this.replace(/-\D/g,function(a){return a.charAt(1).toUpperCase();});}
hyphenate:function (){return this.replace(/[A-Z]/g,function(a){return("-" a.charAt(0).toLowerCase());
});}[SNIP]

我正在使用一个框架(codeigniter),它禁止查询字符串,从而防止发布数据甚至看到目标php文件。

页面上的html都是正确的。

我尝试用引号和撇号包围数据。

我搜索了互联网的下层地区寻找答案。找到了山雀 - 所以它不是完全洗涤。

如果有人能够了解如何将js注入到帖子数据中,我会非常感激。

2 个答案:

答案 0 :(得分:1)

试试这个:

$('stp1btn').addEvent('click', function(e){
    MochaUI.updateContent({
        element: $('mainPanel'),
        method: 'post',
        data: { w: 1 },
        url: '/postFile.php',
        title: 'Test Post Stuff durrrrrr',
        padding: { top: 8, right: 8, bottom: 8, left: 8 }
    });
});

mootools请求可以使用对象文字或其他方式处理数据 - 甚至可以序列化表单元素,因此数据:document.id("formel")通常很好。

如果mochaui的子类化正常,那么它应该可以工作。

答案 1 :(得分:0)

<script type="text/javascript" charset="utf-8">
$('stp1btn').addEvent('click', function(e){
    var myRequest = new Request({
        url: '/le_formDerp.php',
        onSuccess: function(responseText){
            MochaUI.updateContent({
                element: $('mainPanel'),
                content: responseText,
                title: 'Test Post Stuff durrrrrr',
                padding: { top: 8, right: 8, bottom: 8, left: 8 }
            });
        },
    }).send($('stp1_form').toQueryString());
    myRequest.send();
});
</script>

hurrrrrr durrrrrr