actionscript-3 - 使用 POST 的独立 Flash 播放器 navigateToURL 失败
问题描述
由于 Flash 插件已达到 EOL,因此仍然使用我的 RIA 的唯一方法是使用 Flash 播放器的独立版本。
在测试迁移时,我注意到以下代码存在问题:
var request:URLRequest = new URLRequest("/utils/function");
request.contentType = "application/x-www-form-urlencoded";
request.method = URLRequestMethod.POST;
var data:URLVariables = new URLVariables();
data.x = encodeURIComponent(1);
data.y = encodeURIComponent(2);
data.z = encodeURIComponent('some value');
request.data = data;
navigateToURL(request, "_blank");
独立版本的 flash (v30.0.0.134) 发出 GET 请求,而不是指示的 POST 方法。浏览器插件 (v32.0.0.238) 作为 POST 请求在新选项卡中正确打开页面。
为什么独立闪存将我的请求转换为 GET?有没有人可以对这个问题有所了解?
解决方案
我不知道它是否有资格作为答案,但我们使用它来发出 POST 请求:
handleService.url='.../something.ashx';
handleService.method = URLRequestMethod.POST;
var prm:Object=new Object();
prm.par1 = "asd";
prm.content=encodedData;
prm.fileName=FileName;
handleService.send(prm);
您可以将应用程序打包为 Adobe AIR 运行时,而不是使用独立版本的 flash。我们仍然使用一些用 Flex 编写的应用程序,并且没有任何问题。
如果在 Windows 上运行,您可以将其打包为本机运行时并且运行良好。
推荐阅读
- batch-file - 存在和复制或不存在,制作目录和复制
- python - 从自定义索引 setup.py 安装
- sql-server - 如何优化我的存储过程,使其运行得更快
- php - CodeIgniter 用空格替换“+”
- php - Array($row['image']) 在 $pdf->image 中不可用
- asp.net - 异常“当前上下文中不存在名称‘BindItem’”
- java - @RequestMapping 如何在 Spring Boot 应用程序中工作
- sql - 从表中删除行,保留最近的行
- node.js - 如何将 Shopify 价格规则 ID 传递给 Shopify 折扣创建
- javascript - 在 Yii2 中通过 JavaScript 更改值