我有一个使用.post提交给我的cfc的页面。我知道该函数工作正常,因为数据库正在更新,但被触发的警报是'else'语句中的警告。
你们中的任何人都能明白为什么我的回归没有发出正确的警报吗?我没有正确捕捉回报吗?
我的一些变量是硬编码用于测试目的......
jQuery:
$(document).ready(function() {
var theID = $('#window_one h1').attr('name').split("-")[1];
var gateway = ("001");
//Populate the form
$('#theText').attr('value', $('#window_one h1').html());
$('#texteditform').submit(function(e){
//stop the form submission
e.preventDefault()
var newText = $('#theText').val();
//CFC
$.post("cfc/engine.cfc?method=updateText&returnformat=json",
{text:newText, field:theID, gateway_id:gateway},
function(res) {
//Handle the result
if(res == "true") {
alert("worked fine");
} else {
alert("Didn't Work");
}
});
});
});
</script>
CFC
<cffunction name="updateText" access="remote" output="no" returntype="boolean">
<cfargument name="field" type="string" required="yes">
<cfargument name="text" type="string" required="yes">
<cfargument name="gateway_id" type="string" required="yes">
<cfquery datasource="#application.datasource#" username="#application.username#" password="#application.password#">
UPDATE gateway
SET #arguments.field# = <cfqueryparam value="#arguments.text#" cfsqltype="cf_sql_varchar">
WHERE gateway_id = #arguments.gateway_id#
</cfquery>
<cfreturn true>
</cffunction>
答案 0 :(得分:4)
由于CF生成输出的方式,您有额外的空格。你需要确保cfc本身设置为output =“false”...可能需要进一步摆动,但这应该让你开始。
这是CF的烦人功能之一