ColdFusion CFC CORS 和 AJAX 帖子

2023-12-20

我正在尝试将表单发布到远程服务器。目前的总体思路是 HTML 将在本地运行并通过 AJAX 发布到远程服务器。

因此有一个表单、JS 和它要发布到的 CFC。

下面是JS

$(document).ready(function () {
$("#submit").click(function(){
    var setName = $("input[name='setName']").val();
    var setNumber = $("input[name='setNumber']").val();
    var setTheme = $("input[name='setTheme']").val();

    var retailPrice = $("input[name='retailPrice']").val();
    var purchaseStore = $("input[name='purchaseStore']").val();
    var purchaseDate = $("input[name='purchaseDate']").val();
    var purchasePrice = $("input[name='purchasePrice']").val();

    var condition = $("input[name='condition']").val();

    var sellPrice = $("input[name='sellPrice']").val();
    var sellStore = $("input[name='sellStore']").val();
    var selldate = $("input[name='selldate']").val();

$.ajax({
    type: 'get',
    url: 'http://www.chesteraustin.us/cfc/entry.cfc?ReturnFormat=json',  
    data: {
        method: 'setEntry',
        Set_Name: setName, //CFARGUMENT: JS_VARIABLE
        Set_Number: setNumber,
        Set_Theme: setTheme,
        Retail_Price: retailPrice,
        Purchase_From: purchaseStore,
        Purchase_Price: purchasePrice,
        Purchase_Date: purchaseDate,
        Status: condition,
        Sell_Date: sellPrice,
        Sell_from: sellStore,
        Sell_date: selldate
        },
    contentType: 'json',
    dataType: 'json',
    success: function(response) {
        console.log("you da man");
        }
    });    
}); 
});

下面是它被发布到的 CFC(为简洁起见,我删除了其中的大部分内容):

<cfcomponent>
<cfheader name="Access-Control-Allow-Origin" value="*" />
<cfheader name="Access-Control-Allow-Methods" value="GET,PUT,POST,DELETE" />
<cfheader name="Access-Control-Allow-Headers" value="Content-Type" />

<cffunction name="setEntry" access="remote">
    <cfreturn 1>
</cffunction>

</cfcomponent>

编辑:清理了 CFC,删除了无关的评论。

做研究,我发现了这一点CFHEADER本来应该放在最上面,以允许跨源,但是,Chrome 仍然提供了一个No 'Access-Control-Allow-Origin' header is present on the requested resource. error.

一些背景知识:我在共享主机上。我在 CFC 所在的文件夹中有一个空白的 Application.CFC。


因此,经过大量研究,我找到了解决方案。 ColdFusion 代码按预期工作。然而,还有其他东西控制着标头(在本例中是 Apache)。

Using http://enable-cors.org/server_apache.html http://enable-cors.org/server_apache.html作为指导,我使用以下内容修改了 public_html 目录中的 .htaccess 文件:Header set Access-Control-Allow-Origin "*"。 Chrome 出现了另一个错误,指出 Access-Control-Allow-Headers 没有 Content-Type,所以我也添加了它:Header set Access-Control-Allow-Headers Content-Type。你瞧,这成功了。

总之,如果 ColdFusion 上的 CORS 不起作用:<cfheader name="Access-Control-Allow-Origin" value="*" />,检查Web服务器配置。我的.htaccess文件现在有两行,并且 CORS 正在运行。

Header set Access-Control-Allow-Origin "*"
Header set Access-Control-Allow-Headers Content-Type
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ColdFusion CFC CORS 和 AJAX 帖子 的相关文章

随机推荐

  • .NET 4.5 中 List.Sort 的行为与 .NET 4.0 相比有何变化?

    我在针对 NET 4 0 的项目中进行了以下测试 TestFixture public class Donkey Test public void TestListSorting var expected new MockRepositor
  • 使用 webpack 导入 vis.js

    我想进口only DataSet and Network from vis js在我们的 Webpack 应用程序中使用 ES6 模块 一种简单的方法就是导入dist vis network min js但它已经缩小了 所以与我们的 web
  • JavaScript解析字符串和对象的引用[重复]

    这个问题在这里已经有答案了 是否可以通过对象本身获取对象的引用 obj 以及字符串形式的属性 地址 城镇 街道 所以最后它解决了 obj 地址 城镇 街道 我可以想象 eval 函数 Try function getValue obj pa
  • Echo 将我的制表符更改为空格

    我将来自网络的以下结构作为如何在 BASH 中读取文件的基本示例 cat inputfile txt while read line do echo line done 不过 我的 inputfile txt 是制表符分隔的 并且上述命令中
  • 何时索引、在 Mongoid 中索引什么?

    我对索引有点陌生 但我对索引的用例很好奇 我认为它使对索引字段的查询速度更快 是否有确定索引内容和何时索引的标准 我应该期望获得什么样的性能优势 特别是在 Rails 应用程序上将 Mongoid 与 MongoDb 结合使用 查看Inde
  • 如何停止 goroutine [重复]

    这个问题在这里已经有答案了 我有一个调用函数的 goroutine 并且有一个特殊参数 我想启动或停止这个 goroutine 我的问题是这段代码永远不会停止我的 goroutine 它每次都会创建一个新作业 quit make chan
  • TextView Marquee 不起作用[重复]

    这个问题在这里已经有答案了 我尝试过使用选框但不起作用 这是我的代码 请让我知道哪里出了问题
  • 单击标记时,Google 地图 v3 打开最后一个信息窗口

    我有一个共享的infoWindow对于我所有的标记 如果我使用 jquery 的话效果很好 each function 但是如果我将其更改为 JavaScrips 的本机 for 或 while 循环 则它不会按预期工作 每当我单击一个标记
  • 为什么它返回一个随机值而不是我给函数的值?

    在C程序中 有一个交换函数 该函数采用一个名为x的参数 我希望它通过更改主函数内交换函数中的x值来返回它 当我将参数视为变量时 我想要它 但是当我直接为参数设置整数值时 程序会产生随机输出 include
  • 与 Nodejs Express 共享 Laravel 4 会话

    我正在尝试从 NodeJS 上标头的 Cookie 中获取 Laravel 会话 ID 到目前为止我已经尝试过 function nodeDecrypt data key iv var decipher crypto createDecip
  • 使用 CQL 3.0 在集合上创建自定义索引

    我一直在关注CQL 3 0数据建模文档 http www datastax com documentation cql 3 0 webhelp cql ddl ddl anatomy table c html concept ds qqw
  • 禁用数据库访问

    我创建了一个 MySQL 服务器 现在用户login可以访问所有数据库 我希望该用户无法访问 因此无法执行任何操作 3 个数据库 information schema mysql phpmyadmin 所以用户可以使用除这 3 个之外的所有
  • GCC 接受 `constexpr struct {} s;`,但 Clang 拒绝它。谁是正确的?

    以下代码可以使用 GCC 正常编译 constexpr struct s 但 Clang 拒绝了它 并出现以下错误 错误 默认初始化 const 类型 const struct anonymous struct at 对象 而没有用户提供的
  • Docker Compose 中的无效类型错误

    我在 Docker Compose 中遇到错误 撰写文件是 version 2 services api build context dockerfile webapi dockerfile ports 210 web build cont
  • 无法在 app.module 中导入 MatDialogModule

    我是角度初学者 我正在使用角度材质对话框 首先 我向我的项目添加了材料并使用它 angular material 当我添加 import MatDialogModule from angular material dialog in app
  • Django 的 classonly 方法有什么用? [复制]

    这个问题在这里已经有答案了 源代码如下 class classonlymethod classmethod def get self instance owner if instance is not None raise Attribut
  • 如何使用Java Swing实现可拖动选项卡?

    如何使用 Java Swing 实现可拖动选项卡 我想将选项卡拖放到不同位置以重新排列选项卡 而不是静态 JTabbedPane EDIT Java 教程 拖放和数据传输 http java sun com docs books tutor
  • AngularJS,ng-repeat 和 ng-include 不渲染

    你好 我开始学习 Angular 当我结合使用 ng repeat 和 ng include 时遇到了问题 无论我做什么 我都无法渲染模板 我有一个简单的控制器 用于创建工作区列表 每个工作区都有一个 TemplateUrl 属性 我知道该
  • Chrome 中比 translateZ(0) 更好的解决方案来解决子像素边框图像缩放问题

    我遇到了边界图像切片线显示在使用 Transform scale 放大的元素上的问题 如下所示 这似乎只发生在 Chrome 中 通过阅读其他帖子 这似乎是 Chrome 子像素渲染问题 我尝试过 backface visibility h
  • ColdFusion CFC CORS 和 AJAX 帖子

    我正在尝试将表单发布到远程服务器 目前的总体思路是 HTML 将在本地运行并通过 AJAX 发布到远程服务器 因此有一个表单 JS 和它要发布到的 CFC 下面是JS document ready function submit click