$Ajax - 出现冷融合错误” ColdFusion 无法将您指定的文本添加到输出流。”

发布于 2024-12-29 13:11:03 字数 1365 浏览 1 评论 0原文

由于这个错误,我停在几页上。我不确定为什么我的 cfc 方法将任何内容返回到输出流。返回错误消息的是成功函数。数据库正在正确更新。

function onSelectChange(){
        var selected = $("#MrMrsSelect option:selected");
        if(selected.val() != 0){
            //alert("You Selected " + selected.text() + "for " + SelectedInvid);
             $.ajax({
                 type: "POST",
                 url: "cfc/basic.cfc?method=FixMrMrs",
                 data: "indivNum=" + SelectedInvid + "&MrMrs=" + selected.text(),
                 error: function (xhr, textStatus, errorThrown){
                     // show error
                     alert(errorThrown);
                     },
                 success: function(data ) {
            alert(data);
     },

氟氯化碳:

        <cffunction name="FixMrMrs" output="false" access="remote">
        <cfargument name="IndivNum" required="True" type="string" default="">
        <cfargument name="MrMrs" required="True" type="string" default="">
        <cfset var qResults = "">
        <cfquery name="qResults" datasource="#request.dsn#">
            UPDATE users_info
            SET  Mr_Mrs_Ms_Miss = '#arguments.MrMrs#'
            WHERE ID = <cfqueryparam value="#arguments.IndivNum#" />
        </cfquery>
        <cfreturn true>
        </cffunction>    

I'm stopped on a couple of pages because of this error. I'm not sure why my cfc method is returning anything to the output stream. It's the success function that is returning the error message. The database is being updated correctly.

function onSelectChange(){
        var selected = $("#MrMrsSelect option:selected");
        if(selected.val() != 0){
            //alert("You Selected " + selected.text() + "for " + SelectedInvid);
             $.ajax({
                 type: "POST",
                 url: "cfc/basic.cfc?method=FixMrMrs",
                 data: "indivNum=" + SelectedInvid + "&MrMrs=" + selected.text(),
                 error: function (xhr, textStatus, errorThrown){
                     // show error
                     alert(errorThrown);
                     },
                 success: function(data ) {
            alert(data);
     },

CFC:

        <cffunction name="FixMrMrs" output="false" access="remote">
        <cfargument name="IndivNum" required="True" type="string" default="">
        <cfargument name="MrMrs" required="True" type="string" default="">
        <cfset var qResults = "">
        <cfquery name="qResults" datasource="#request.dsn#">
            UPDATE users_info
            SET  Mr_Mrs_Ms_Miss = '#arguments.MrMrs#'
            WHERE ID = <cfqueryparam value="#arguments.IndivNum#" />
        </cfquery>
        <cfreturn true>
        </cffunction>    

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

绝影如岚 2025-01-05 13:11:03

由于您不希望该方法返回任何内容,因此不要返回任何内容。

base.cfc:

<cffunction name="FixMrMrs" returntype="void" output="false" access="remote" returnformat="plain">
    <cfargument name="IndivNum" required="True" type="string" default="">
    <cfargument name="MrMrs" required="True" type="string" default="">
    <cfset var qResults = "">
    <cfquery name="qResults" datasource="#request.dsn#">
        UPDATE users_info
        SET  Mr_Mrs_Ms_Miss = '#arguments.MrMrs#'
        WHERE ID = <cfqueryparam value="#arguments.IndivNum#" />
    </cfquery>
    <cfreturn />
</cffunction>

javascript:

function onSelectChange(){
    var selected = $("#MrMrsSelect option:selected");
    if(selected.val() != 0){
        //alert("You Selected " + selected.text() + "for " + SelectedInvid);
        $.ajax({
            type: "POST",
            url: "cfc/basic.cfc?method=FixMrMrs",
            data: "indivNum=" + SelectedInvid + "&MrMrs=" + selected.text(),
            error: function (xhr, textStatus, errorThrown){
                // show error
                alert(errorThrown);
            },
            success: function(data ) {
                alert(data);
            }
        });
    }
}

根据我使用 Railo 的测试(这里大部分模仿 CF9),您应该得到一个空警报。

Since you don't expect the method to return anything, don't return anything.

base.cfc:

<cffunction name="FixMrMrs" returntype="void" output="false" access="remote" returnformat="plain">
    <cfargument name="IndivNum" required="True" type="string" default="">
    <cfargument name="MrMrs" required="True" type="string" default="">
    <cfset var qResults = "">
    <cfquery name="qResults" datasource="#request.dsn#">
        UPDATE users_info
        SET  Mr_Mrs_Ms_Miss = '#arguments.MrMrs#'
        WHERE ID = <cfqueryparam value="#arguments.IndivNum#" />
    </cfquery>
    <cfreturn />
</cffunction>

javascript:

function onSelectChange(){
    var selected = $("#MrMrsSelect option:selected");
    if(selected.val() != 0){
        //alert("You Selected " + selected.text() + "for " + SelectedInvid);
        $.ajax({
            type: "POST",
            url: "cfc/basic.cfc?method=FixMrMrs",
            data: "indivNum=" + SelectedInvid + "&MrMrs=" + selected.text(),
            error: function (xhr, textStatus, errorThrown){
                // show error
                alert(errorThrown);
            },
            success: function(data ) {
                alert(data);
            }
        });
    }
}

Based on my testing using Railo (which mimics CF9 for the most part here), you should get an empty alert.

一身软味 2025-01-05 13:11:03

有几件事...

在您的 Ajax 调用中,尝试并指定 &returnFormat=json

另外,将此...添加

<cfset var qResults = "">
<cfcontent type="application/json" />

到您的 CFC 返回中,这样响应标头将返回 Json。

A couple of things...

In your Ajax call, try and specify, &returnFormat=json

Also, add this...

<cfset var qResults = "">
<cfcontent type="application/json" />

To your CFC return, that way the response headers will return Json.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文