将 LoadVars 和 sendAndLoad 从 actionscript 转换为 javascript

convert LoadVars & sendAndLoad from actionscript to javascript

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

到目前为止,我可以完成我需要的所有转换,但我仍然坚持下面的代码。

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

code/function 我需要 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");

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)。