我应该如何使用 ajax post 将变量发送到 Coldfusion 操作页面?

2024-02-17

我的页面生成随机变量从页面上的 cfquery 用作随机奖品和赢得该奖品的随机员工。

<cfset prizeID="#prize.prize_ID[variables.prizeRow]#"> 

然后,我在页面上有一个 cfform,在其中将文本输入设置为这些变量,并使用以下代码将其提交到服务器操作页面,其中数据库更新我的表,指示已领取奖品:

function submitClaim() { 
ColdFusion.Ajax.submitForm('claimyourprize', 'claim.cfm');
}

我试图找到一种替代方案,使用 Ajax 将变量(prizeID、winnerID 等)发送到服务器。

这是我所得到的最接近的结果:

    function Claim() {
        $.ajax({
            type: "POST",
            url: "claim.cfm",
            data: { claimedPrize: "#prizeID#", claimedEmployee: "#employeeID#"}
        }).done(function( ) {
            alert( "claimed" );
        })
    }

目前,我正在通过单击按钮调用该函数来“领取”奖品。

以下是我的 Claim.cfm 上的查询之一:

    <cfquery name="updateQuantity" datasource="christmas">
    UPDATE PRIZES
    SET QUANTITY = QUANTITY - 1
    WHERE prize_ID = [ID sent from the client needs to go here]
    </cfquery>

您正在向 Claim.cfm 页面提交表单。在 Claim.cfm 页面上,您将拥有可用的表单范围。我建议您添加一些响应,这样您就可以在客户端上得到某种结果。

function Claim() {
    $.ajax({
        type: "POST",
        url: "claim.cfm",
        data: { claimedPrize: "#prizeID#", claimedEmployee: "#employeeID#"}
    }).done(function(returnresult) {
        alert( returnresult );
    })
}

这将是 Claim.cfm 页面

<cfif isDefined("form.claimedPrize")>
    <cfquery name="updateQuantity" datasource="christmas">
      UPDATE PRIZES
      SET QUANTITY = QUANTITY - 1
      WHERE prize_ID = <cfqueryparam value="#form.claimedPrize#" cfsqltype="CF_SQL_INTEGER" />
    </cfquery>
    SUCCESS!
<cfelse>
    SOMETHING WENT WRONG!
</cfif>

但更好的解决方案是使用 cfc(组件)代替 cfm(模板)并将表单提交到 cffunction。

声明.cfc 文件:

<cfcomponent displayName="My claim Component">
 <cffunction name="claim" output="false" access="remote" returntype="string">
     <cfargument name="claimedPrize" required="true" type="numeric"/>
     <cfargument name="claimedEmployee" required="true" type="numeric"/>
     <cfquery name="updateQuantity" datasource="christmas">
       UPDATE PRIZES
       SET QUANTITY = QUANTITY - 1
       WHERE prize_ID = <cfqueryparam value="#arguments.claimedPrize#" cfsqltype="CF_SQL_INTEGER" />
     </cfquery>
<cfreturn "OK" />
 </cffunction>
</cfcomponent>

然后 ajax 调用将如下所示:

function Claim() {
    $.ajax({
        type: "POST",
        url: "claim.cfc?method=claim",
        data: { claimedPrize: "#prizeID#", claimedEmployee: "#employeeID#"}
    }).done(function(returnresult) {
        alert( returnresult );
    })
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我应该如何使用 ajax post 将变量发送到 Coldfusion 操作页面? 的相关文章

  • 验证消息对于日期时间选择器无法正常工作?

    这里的问题是验证日期时间选择器并在页面加载后重置值 在页面加载验证正常工作 但日期时间选择器值未重置 页面加载后 这两个问题值都不会重置 验证也不起作用 这是小提琴 http jsfiddle net XHW3w 6 http jsfidd
  • 将 ASP.NET 验证与 JQuery 结合起来的优雅方式

    如何最好地将 JQuery 与 ASP NET 客户端验证模型结合起来 我通常会避免实现 ASP NET 验证模型 因为它对于我正在做的事情来说总是显得大材小用 对于我现在正在开发的网站 我只是收集非关键用户数据 并且只需要一些基本的验证
  • jquery 对于每个具有相似 id 的元素

    我在页面上有很多元素 ID1 ID2 ID3 我想操纵所有元素 有没有更简单的方法来做到这一点 ID each function 您可以使用 选择器 Example div id ID 选择 DOMID属性开头为ID 即 ID1 IDID
  • 获取要在新浏览器中显示的选择值

    嘿 基本上这是我的代码 运行的第一个脚本允许在 URL 中显示所选值
  • 更新 Parse.com 中的一行

    我所拥有的是 当单击编辑按钮时 两个输入字段中的值将创建一个新行 并删除旧行 下面是我使用的代码 但我想要的是更新原始行而不是删除原始行 实例 http jsbin com uyonek 2使用下面的代码是如何工作的 editBtn onc
  • 标题的固定高度和更改宽度(HTML 表格)

    我需要确保表格标题的高度是固定的 并且宽度是根据标题单元格内容进行调整的 标题文本最多显示两行 我们如何使用样式来做到这一点 另外 我想确保表行的宽度与标题行的宽度相同 即标题行决定宽度 注 目前 交易部门负责人别名 是按行排列的 它需要分
  • 文本区域值高度[重复]

    这个问题在这里已经有答案了 我有一个 textarea 其 css 高度设置为 85px 用户可能会在该文本区域内键入内容行 我想知道文本 值的高度 而不是文本区域本身 有没有办法检查内部文本的高度 包括换行符 我会将文本区域的内容复制到另
  • jQuery和PHP中如何知道返回数据是Json还是String?

    我想在客户端 jQuery 检查 PHP 函数返回的数据是否是 Json 对象或 String 来分配不同的函数 如果 json 的格式不正确 jQuery 的 parseJson 将生成异常 您可以将调用包装在 try catch 块中
  • 调整大小后获取实际图像大小

    我有一个充满缩略图的页面 用 css 调整大小150x150 当我单击缩略图时 页面变暗 并且图像以其真实尺寸显示 目前 我必须手动创建一个包含所有图像的实际高度的数组 为了解决设计问题 减少画廊的手动操作 我需要在调整图像大小 CSS 后
  • 使用 Rails3-autocomplete gem 时出现“自动完成方法不存在”错误

    在我的rails应用程序中 我尝试使用rails3 jquery autocomplete gem 我在 Gemfile 中包含了以下行 gem Rails3 jquery autocomplete 并提供捆绑安装及其在 gems 中列出
  • jQuery 自动完成 - xml 跨站点请求

    我的自动完成功能的 XML 提要位于另一台服务器上 是否有客户端 javascript 方法来获取此 XML 文档 我知道我可以使用 php jsp 等创建代理 但我需要在所有客户端完成此操作 这就是我现在调用该文件的方式 该文件仅在同一域
  • 如何在 joomla 模块中通过 javascript 发送输入文件类型

    我想将带有 javascript 的文件发送到 php 文件 我的 php 文件中有这个表单
  • 如何使用JQuery调用SWAL中成功的函数?

    第二个功能不起作用 它没有收到从第一个函数传递的 id 这是我的 JQuery 代码 swal title Are you sure text You will not be able to recover this record type
  • 验证插件在更新面板中不起作用

    我有一个更新面板 面板内有文本框和按钮可用 现在我正在使用 jQuery Validation 插件 但是在更新面板中使用时验证插件不起作用 例如 function GetAddressTargetList var objArray new
  • 解析 PHP 响应:未捕获的语法错误:意外的标记 <

    我正在使用 AJAX 来调用 PHP 脚本 我唯一需要从响应中解析的是脚本生成的随机 ID 问题是 PHP 脚本会引发许多错误 这些错误实际上很好 不会妨碍程序功能 唯一的问题是当我跑步时 parseJSON response I get
  • 如何从代码隐藏文件中的asp.net用户控件注册(调用)jQuery函数?

    如何从代码隐藏文件中的asp net用户控件注册 调用 jQuery函数 您可以使用ClientScriptManager RegisterStartupScript http msdn microsoft com en us librar
  • 如何在 jQuery 中选择时对 DOM 元素进行排序?

    我的页面上有以下 DIV div Div 3 div div Div 2 div div Div 1 div div Div 6 div div Div 5 div div Div 4 div 我正在尝试使用 jQuery 代码选择 Div
  • 在窗口调整大小和窗口加载时动态调整 pixi 舞台及其内容的大小

    我正在尝试在窗口调整大小时动态调整 pixi 舞台 画布和内容 的大小 并且最初以浏览器窗口的大小加载 而不改变比例 我使用以下内容将初始大小基本上设置为window innerWidth window innerHeight 但它做了一些
  • 如何检查 id 名称是否包含某种模式?

    我正在使用 jquery 并且循环如下 span each function index var idname this attr id idname click function window location href http thi
  • 查看元素的所有 dom 事件

    我有一个 jQuery UI 日期选择器 当您单击日期时 它会清除我的 URL 哈希值 并且不会更改文本框中的日期 我假设某个地方还有其他一些 JavaScript 实用程序 它也正在调用某种委托事件 抛出错误并终止 jquery 处理程序

随机推荐