【问题标题】:将 LoadVars 和 sendAndLoad 从 actionscript 转换为 javascript
【发布时间】:2021-02-09 02:15:46
【问题描述】:

我是一名初级程序员,正在尝试将 Actionscript 中的程序转换为 javascript。

到目前为止,我可以完成所有需要的转换,但我被以下代码困住了。

我知道变量文件名和测试 ID 被发送到位于 URL interfaceUrl + "operation=" + Test 的脚本,并且答案存储回 lvReply。

我需要 JavaScript 中的哪些代码/函数来做同样的事情。

我正在查看 XMLHttpRequest,但不知道这是否是正确的前进方式。任何帮助我指出正确方向的帮助将不胜感激。

var lv:LoadVars = new LoadVars();

    lv.fileName = fileName;
    lv.lpTestId = testId;

var lvReply:LoadVars = new LoadVars();
        
lv.sendAndLoad(interfaceUrl + "operation=" + Test, lvReply, "POST");

【问题讨论】:

  • 欢迎您!请考虑在问题中添加actionscript [+version(?)] 和/或任何其他适当的标签。谢谢你,祝你好运!
  • 不是AS3。 LoadVars 是 AS1/2 中可用的类。

标签: javascript actionscript


【解决方案1】:

LoadVars 只是从服务器加载名称/值对,格式如下:

someText=testing&myVariable=123

对于 JavaScript,您可以使用:

XHR:
https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest

加载数据,然后:

URLSearchParams 来解析它们:
https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams

这里有一些伪代码来演示:

let xhr = new XMLHttpRequest();

//load data, sending params to server via query string
xhr.open('GET', 'http://example.com/data?args1=boof&arg2=banana'); 

xhr.onload = function() {
  if (xhr.status != 200) { 
    //check status code to see what happened
  } else {

    //data sent from server in the form of foo=bar&biff=bam
    let data = xhr.response;

    let params = URLSearchParams(data);

    let foo = params.get(foo);
    console.log(foo); // prints bar
  }
};

xhr.onerror = function(err) {
  //something went wrong
};

xhr.send();

更好的解决方案是从服务器发送 JSON 并使用 JSON.parse() 解析它

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse

注意,在上面的例子中,它也是向服务器发送数据。您也可以使用 XHR(通过 GET 或 POST)来做到这一点。

【讨论】:

    猜你喜欢
    • 2011-01-25
    • 2017-08-03
    • 2019-08-11
    • 2012-02-21
    • 2017-12-24
    • 2011-02-12
    • 2011-01-23
    • 1970-01-01
    • 2016-08-09
    相关资源
    最近更新 更多