我正在玩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注入到帖子数据中,我会非常感激。
答案 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