我的问题一直困扰我一段时间。这是设置:
我有一个可用于用户导航的可拖动列表。我想保存用户如何将列表命令到数据库,以便下次加载页面时它们是相同的。我正在使用(或尝试)使用ajax调用来保存订单。
这是我的jQuery:
$(document).ready(function() {
$( "#sortable" ).sortable({
revert: true,
stop: function(event, ui) {
var aResult = $('#sortable').sortable('toArray');
postChanges( aResult );
}
});
});
function postChanges( result ) {
$.ajax({
type: "POST",
url: "model/customNav.cfm",
data: {order: result },
timeout: "5000"
});
}
在cfm页面“CustomNav”上我有一个简单的cfdump来转储表单变量以确保数据正确发送: (我试图发布一张图片,但我太新了,我会试着“画出”来自cfdump的结果)
| struct |
|字段名称|订单[] |
| ORDER [] | 3,2,1 |
问题是,如何访问订单数据?我想因为它正在转储表单结构,我会使用点表示法来获取对订单的访问权(即form.order)。这不起作用。当我尝试转储form.order时,我得到一个错误,说明在表单中找不到变量顺序。
我怀疑它与我如何将数据发送到coldfusion页面有关,但我不确定我做错了什么。所以我的问题是,如果我正确地将数据发送到coldfusion页面,我该如何访问它?如果我发送的数据不正确,我哪里出错?
非常感谢!
答案 0 :(得分:1)
您也可以尝试访问表单[“order []”]
答案 1 :(得分:0)
上次我看到一个非常相似(确切?)的问题,答案是有一个
<CFSET SetEncoding("FORM", "iso-8859-1") />
导致问题的application.cfc / application.cfm中的:
答案 2 :(得分:0)
我今天早上这样做了。
var aResult = $('#sortable')。sortable('toArray');
将aResult更改为$('#sortable')。sortable('serialize',{key:order});
这会将aResult从order []更改为order = 3&amp; order = 2&amp; order = 1
通过ListToArray()运行该字符串,你将拥有一个真正的Cold Fusion数组。