如何解决将LoadVars和sendAndLoad从actionscript转换为javascript
我是一名初级程序员,正在尝试将Actionscript中的程序转换为javascript。
到目前为止,我可以完成我需要的所有转换,但是下面的代码使我陷入困境。
我知道变量fileName和测试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");
解决方法
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)来做到这一点。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。