【发布时间】:2012-11-20 15:41:49
【问题描述】:
我正在使用Coldfusion8。
我收到一个带有项目编号(随机 35 个字符字符串)的 Ajax 请求,我需要将其写入/检索到数据库中。
问题是,当我只传递如下数字时:
23456
Coldfusion 输出接收:
23456.0
如果字符串包含A12345 之类的任何字母,则它可以正常工作。
一些代码(虽然这并没有显示什么不工作:
Javascript:
var btn = $(this).find('input'),
putOnRack = btn.jqmData('index'),
form = "",
service = "../services/handler.cfc",
method = "process",
returnformat = "JSON",
targetUrl = "",
formdata = "form_submitted=store_selection&artikelnummer="+putOnRack+"&method="+method+"&returnformat="+returnformat;
// pass to AJAX
ajaxFormSubmit( form, service, formdata, targetUrl, successHandler, "no", "", returnformat, "" );
var ajaxFormSubmit =
function ( form, service, formdata, targetUrl, successHandler, dataHandler, errorHandler, returnformat, type ){
$.ajax({
async: false,
type: type == "" ? "get" : type,
url: service,
data: formdata,
dataType: returnformat,
success: function( objResponse ){},
error: function (jqXHR, XMLHttpRequest, textStatus, errorThrown) {}
在 Coldfusion 中,我通过 process 传递它,它验证并构建表单服务器端,然后我传递给我的数据库处理程序,它得到一个
`LOCAL.form`
包含所有传递信息的对象,所以我的项目编号将在LOCAL.form.artikelnummer
如果我输出这个:
cfdump output="e:\dump.txt" label="catch" var="#LOCAL.form.artikelnummer#">
只有数字的字符串被视为.0
问题
在通过 AJAX 将参数传递给 Coldfusion 时,如何确保最终得到的是 varchar 而不是数字?
【问题讨论】:
-
一些代码(虽然这并没有显示出什么不起作用:那为什么要显示呢?
-
因为如果根本没有发布代码,你会写“显示一些代码”;-) 实际上,一旦数据从 CF 中的 AJAX“到达”,就会出现错误“.0”,所以我不确定要发布什么。
标签: ajax coldfusion decimal varchar number-formatting