gpt4 book ai didi

jquery - 我的 CFC 的 JSON 响应返回 HTML 代码

转载 作者:行者123 更新时间:2023-12-01 02:52:57 25 4
gpt4 key购买 nike

我这里有一个奇怪的问题。我正在使用 jquery 调用 CFC 并返回一个字符串。然后我尝试用该字符串填充表单字段。由于某种原因,我的响应包括 HTML 代码和查询结果。

以下是 JSON 响应在控制台中的外观:

> Gary Turner check_out.cfm:146 Successfully ran JSON, now changing
> input value check_out.cfm:149 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML
> 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <head>
> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
>
> </head> <body>
>
>
>
>
>
> </body>
> 274.00

这是我的 JQUERY:

 <!---Populate Grand Total  --->   
<script>
function PopulateGrandTotal(){
// Populate the customer alert DIV based on the customer selection
console.log( $("#customer_checkout>option:selected").attr("Value") );

$.ajax({
url:'cfcs/grand_totalDIV.cfc?method=getTotal&returnformat=json',
//dataType: 'text',
data: { customer_checkout: $("#customer_checkout>option:selected").attr("Value") },

success: function(response) {
console.log('Successfully ran JSON, now changing input value');
$("#grand_total_due").val( response );

console.log(response);

},
error: function(response){

console.log('Error');

}
});
}
</script>

这是我的 CFC:

    <cffunction name="getTotal" access="remote" returntype="string">
<cfargument name="customer_checkout" type="any" required="true">

<!--- localize function variables --->
<cfset var dataDetail = "">

<cfquery name="dataDetail" datasource="#datasource#" >
select grand_total
from service_ticket
where company_name = <cfqueryparam value="#ARGUMENTS.customer_checkout#" cfsqltype="cf_sql_varchar">
</cfquery>

<cfoutput query="dataDetail">
<cfreturn dataDetail.grand_total>
</cfoutput>
</cffunction></cfcomponent>

这是我的表格:

<cfform id="form" name="form" method="post" action="signature_popup.cfm" >



<br><br>
<div align="center"><cfselect class="required" queryPosition="below" query="get_ticket" display="company_name" name="customer_checkout" id="customer_checkout" tabindex="0" onchange="PopulateGrandTotal();" ><option>---Make A Selection---</option></cfselect>
<br><br>
<div id="grant_totalDIV" >
<h2><label for="grand_total_due">Total Amount Due:</label><input type="text" name="grand_total_due" id="grand_total_due"> </h2>
</div>
<br>

最佳答案

您应该查看您的 Application.cfc 文件 - 或 Application.cfm - 它可能正在设置页眉/页脚值。查找“onrequestend()”和“Onrequest()”或“onrequeststart()” - 这可能会提示您。

您可能还拥有自定义标记类型方法——包装每个请求。

您的 returnType 需要设置为 json - 否则您只会得到“274.00”,而没有 json 包装器。

要修复 HTML,您必须检查 CFC,并且不要运行有问题的函数。或者,您可以在 CFC 文件夹中使用单独的 Application.cfc,完全排除这些功能。当您直接从代码访问 CFC(如在 createobject() 中)时,此类单独的 Application.cfc 不会发挥作用 - 但当它们是请求的基本模板(如您的示例中所示)时,此类单独的 Application.cfc 就会发挥作用。

请记住,您可以使用 method=getTotal& 等直接从浏览器进行测试 - 无需在控制台中解决此问题,直到您在浏览器中获得正确的结果。

关于jquery - 我的 CFC 的 JSON 响应返回 HTML 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35707408/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com