我正在为Coldfusion网站苦苦挣扎,我必须重新设计:
在我的Jquery Mobile/Coldfusion8网站上,用户应该能够从几个不同的页面登录(每个页面都有自己的登录表单 - 不能改变它!)
当用户第一次进入index.cfm页面时,我正在运行:
<!--- SESSION handler --->
<cfif Session.loggedIn EQ "No">
<CFPARAM NAME="Attributes.Datasource">
<CFPARAM NAME="Attributes.AdditionalText" DEFAULT="">
...
<CFSET aform = "#CGI.SCRIPT_NAME#">
</cfif>
Run Code Online (Sandbox Code Playgroud)
这是登录例程的一部分,并设置所有参数和变量.我没有错误,所以一切都一定没问题.该页面包含一个列表,其中包含一个项目:
<li>#Attributes.AdditonalText"</li>
Run Code Online (Sandbox Code Playgroud)
和登录表格:
<CFFORM ACTION="#aform#" NAME="LoginForm">
Run Code Online (Sandbox Code Playgroud)
此外,当没有定义会话时,我将重定向到index.cfm,因此所有用户都将在此页面上结束并获取其会话.
问题
当用户从index.cfm转到下一页时,Jquery Mobile将此页面添加到DOM(!).但是在index.cfm上有效的相同参数/变量现在会产生错误(两者都是未定义的).
我不明白这一点.在DOM规模上是不是可以访问Coldfusion参数/变量,所以我通过Ajax动态添加的任何东西,包括对这些参数/变量的引用也会起作用?
我有点迷失在这里做什么.Coldfusion也是新手.
如果我在index.cfm中有这个文本
这是#attributes.additionalText#
它可以工作,但如果我在第二个文件中有相同的片段,它被附加到DOM,完全相同的片段返回#attributes.additioanlText #not undefined ...
问题:
为什么我的动态添加到DOM的内容无法访问或未定义我的变量和属性?如何在全球范围内提供它们?
谢谢你的一些线索!
只是有点无能......使用Coldfusion8,如果我将会话转储到文件:
<cfdump output="D:\ColdFusion8\logs\dump.txt" var="#Session#">
Run Code Online (Sandbox Code Playgroud)
这包括:
accounttyp: whatever
Run Code Online (Sandbox Code Playgroud)
如果我只转储此参数,我得到相同的结果:
<cfdump output="D:\ColdFusion8\logs\dump.txt" var="#Session.accounttyp#">
Run Code Online (Sandbox Code Playgroud)
问题:
如果已定义并可转储,那么如何检查isdefined如下:
<cfdump output="D:\ColdFusion8\logs\dump.txt" var="#IsDefined(Session.accounttyp)#">
Run Code Online (Sandbox Code Playgroud)
原来是NO?如果它在那里它应该被定义,不应该吗?
谢谢你的澄清.
我有一堆LIKE状态查询.我想optizimze /解释查询,运行正常.但是,如果我复制这个:
SELECT a.*, p.ek, p.vk, p.waehrung, p.onlinepreis
FROM arts a USE INDEX (i_aktiv, i_iln, i_marke )
LEFT JOIN pls p ON
p.iln = a.iln
LEFT JOIN fbs zu
ON a.farbe = zu.farbe
WHERE a.aktiv = "ja"
AND (
a.artikelbezeichnung LIKE ?
OR a.artikelbezeichnung_lang LIKE ?
OR ( a.farbe LIKE '%decke%'
OR zu.systemfarbe LIKE '%decke%'
OR zu.systemfarbe_en LIKE '%decke%'
)
)
)
...
Run Code Online (Sandbox Code Playgroud)
作为我想要添加的参数,'%decke%'但MySQL不断抛出错误,如果我使用的话%%.
知道我做错了什么吗?
我得到的错误是:
你的SQL语法有错误....在OR附近检查...%'%'decke%'(a.farbe LIKE'%decke%'...
在更改文件大小并将其存储到服务器之前,我需要循环遍历路径名和图像名称列表并验证文件是否存在并且是jpg/png.
我想用这个:
<cffile result="upload" action="upload" accept="image/jpeg, image/png" destination="#tempDirectory#" nameconflict="overwrite" />
<cfset testFilePath = tempDirectory & upload.serverFile>
<cfimage name="tempFile" action="read" source="#testFilePath#" />
<cfif NOT isImageFile( testFilePath ) >
<cfset fileDelete( testFilePath ) />
<cfthrow type="FileNotFound" message="#tx_settings_icons_error_img#" />
<cfelseif NOT listfindnocase(allow, upload.serverfileext) >
<cfset fileDelete( testFilePath ) />
<cfthrow type="FileNotFound" message="#tx_settings_icons_error_file#" />
</cfif>
Run Code Online (Sandbox Code Playgroud)
但我的问题是,我不知道如何从路径上传文件
http://www.some.com/folder/image.jpg
Run Code Online (Sandbox Code Playgroud)
问题:
我可以只是read图像,执行验证然后存储到磁盘,还是我需要先上传图像.我将不得不遍历500个图像的列表,我cffile action="read"不应该使用大文件.检查图像文件的正确类型isImage和文件扩展名的替代方法是什么?
我正在运行Coldfusion8/MySQL 5.0.88并进行搜索,其结果需要ASC/DESC根据用户设置进行排序.
如果我在MySQL中运行此查询,它的工作原理:
SELECT a.*
FROM artikelstammdaten a
WHERE a.aktiv = "ja"
AND a.firma LIKE '%test_comp%'
GROUP BY a.iln, a.artikelnummer, a.preis_aktuell, a.artikelbezeichnung
HAVING sum(a.bestand) != 0 OR (a.nos = "ja" AND a.nos_anzeige = "ja")
ORDER BY a.preis_aktuell ASC
LIMIT 0, 24
Run Code Online (Sandbox Code Playgroud)
这会产生在MySQL中运行的预期结果.但如果我在Coldfusion中这样做:
<cfquery datasource="db" name="results">
SELECT a.*
FROM artikelstammdaten a
WHERE a.aktiv = "ja"
<cfif LOCAL.search.s_firma neq "" AND LOCAL.search.s_firma neq "Default">
AND a.firma LIKE <cfqueryparam value="%#LOCAL.search.s_firma#%" cfsqltype="cf_sql_varchar">
</cfif>
GROUP BY a.iln, a.artikelnummer, a.preis_aktuell, a.artikelbezeichnung
HAVING …Run Code Online (Sandbox Code Playgroud) 我正在尝试制作插件JSLint证明,并且正在努力解决以下错误消息:
Don't make functions within a loop.
Run Code Online (Sandbox Code Playgroud)
抱怨这个片段:
for ( i = 0; i < pops.length; i++){
pops.eq(i)
.addClass('reverse out '+trans)
.hide('fast')
.removeClass('ui-panel-active')
.find(".ui-page-active")
.not("div:jqmData(show='first')")
.removeClass('ui-page-active').end()
.find(".ui-btn-active")
.removeClass('ui-btn-active').end()
.find('div:jqmData(external-page="true")')
.remove().end().end()
.delay(350)
// the problem
.queue(function(next){
$(this).removeClass('reverse out pop slide');
next();
});
...
}
Run Code Online (Sandbox Code Playgroud)
我理解问题出在哪里,但不知道如何使它符合JSlint标准.
问题:
如何使函数脱离循环?
谢谢!
我正在尝试在unshift()调用中设置变量名称,如下所示:
var new_index_name = priv.indices[i]["name"], // e.g. "container"
new_index_array.unshift({new_index_name :[]});
Run Code Online (Sandbox Code Playgroud)
但我的new_index_array现在将包含:
[ {new_index_name : []} ]
Run Code Online (Sandbox Code Playgroud)
代替
[ {"container" : []} ]
Run Code Online (Sandbox Code Playgroud)
问题:
是否可以将变量名称作为keypush/unshift调用中的值传递?
感谢帮助!
我正在尝试在我的数据库中创建CSV导入(使用Coldfusion8).
首先将CSV文件解析为Coldfusion数组("x"使用此UDF完成),然后我将其提供到临时表中进行验证,然后使用要导入CSV列的JSON映射将其实际提交到数据库.
一切都工作正常,除了字段长度......仍然会出错.
现在我像这样导入:
...
<cfif variables.c_comp NEQ "">
, <cfqueryparam value = "#x[variables.c_comp]#" cfsqltype="cf_sql_varchar" maxlength="50">
</cfif>
...
Run Code Online (Sandbox Code Playgroud)
用x是正在分析的CSV-行和variables.c_comp是指定字段的JSON地图列数.
我的问题是,如果用户提交长度为51个字符的字段,则整个导入失败.
问题:
有没有办法导入前50个字符而不是抛出错误?或者也许只设置一个标志.
感谢您的投入!
我正在尝试反序列化JSON字符串Coldfusion8.它似乎工作(没有错误),但我无法处理我得到的数据.
我的JSON字符串如下所示:
"{\"kundenliste\":{\"kundennummer\":\"1\",\"plz\":\"2\",\"rabatt\":\"3\",\"laenderkennzeichen\":\"4\",\"preisliste\":\"5\...
Run Code Online (Sandbox Code Playgroud)
我可以做这个:
<cfset variables.import = DeserializeJSON(getModus.myJSONstring)>
<cfdump output="e:\dump.txt" label="catch" var="#IsArray(variables.import)#">
<cfdump output="e:\dump.txt" label="catch" var="#IsStruct(variables.import)#">
<cfdump output="e:\dump.txt" label="catch" var="#IsObject(variables.import)#">
<cfdump output="e:\dump.txt" label="catch" var="#IsDefined(variables.import.kundenliste)#">
Run Code Online (Sandbox Code Playgroud)
结果是:
{"kundenliste":{"kundennummer":"1","plz":"2","rabatt":"3","laenderkennzeich ...
NO
NO
NO
<<error>>
Run Code Online (Sandbox Code Playgroud)
问题:
反序列化时我做错了吗?我以为这将返回一个结构或数组,而不是一个字符串.该怎么办?
感谢帮助!
我试图在测试中循环10次(等待条件为真),但不知怎的,它不起作用.
这是我有的:
// my counter
$.testHelper.countDown = function(test, iteration) {
var ticker = iteration || 0;
if (ticker > 10) {
return false;
}
window.setTimeout(function() {
if (test === true) {
console.log("SENDING");
return true;
}
ticker += 1;
$.testHelper.countDown(test, ticker);
}, 1000);
};
// my test
$.testHelper.testForElement = function(element) {
var result;
console.log($i.find(element).length > 0); // true
result = $.testHelper.countDown(
$i.find(element).length > 0
);
console.log(result); // undefined
return result;
};
Run Code Online (Sandbox Code Playgroud)
我的问题是虽然我的条件相当于true我打电话倒计时之前,但是来自countDown的答案是undefined.所以我的日志是这样的:
// true - before firing …Run Code Online (Sandbox Code Playgroud) coldfusion ×6
javascript ×3
jquery ×3
mysql ×3
arrays ×2
ajax ×1
cffile ×1
coldfusion-8 ×1
csv ×1
defined ×1
file-upload ×1
import ×1
insert ×1
jslint ×1
json ×1
loops ×1
parameters ×1
qunit ×1
select ×1
sorting ×1
sql-like ×1
struct ×1
timeout ×1
variables ×1
verification ×1