Javascript 在控制台中检查FormData键和值
我想把FormData带到控制台来检查键和值Javascript 在控制台中检查FormData键和值,javascript,Javascript,我想把FormData带到控制台来检查键和值 var f = new FormData(); f.append('key1', 'value1'); console.log(f); f = new FormData(); console.log(f); // I wanna know: Does f keep the key `key1` and value `value1`? 当我签入控制台时,在任何地方都看不到键和值 你能给我一些提示吗?如果你在使用firefox,你可以发送一个a
var f = new FormData();
f.append('key1', 'value1');
console.log(f);
f = new FormData();
console.log(f); // I wanna know: Does f keep the key `key1` and value `value1`?
当我签入控制台时,在任何地方都看不到键和值
你能给我一些提示吗?如果你在使用firefox,你可以发送一个ajax请求,并在网络监视器中检查请求的参数 以下是一个屏幕截图: 或者,如果您使用的是php,您可以轻松地
print\r($\u POST)
或$\u GET
。一种利用;另见
MDN示例-嵌入式工作者
//JS引擎不会解析此脚本
//因为它的mime类型是text/js worker。
//var myVar=“你好,世界!”;
var key=“key1”;
var value=“value1”;
//myVar.append('key1','value1');
//其余的工作代码都在这里。
//此脚本将由JS引擎解析
//因为它的mime类型是text/javascript。
功能页面日志(sMsg){
//使用片段:浏览器只渲染/回流一次。
ragm的var=document.createDocumentFragment();
oFragm.appendChild(document.createTextNode(sMsg));
of ragm.appendChild(document.createElement(“br”));
document.querySelector(“#logDisplay”).appendChild(oFragm);
}
//JS引擎不会解析此脚本
//因为它的mime类型是text/js worker。
onmessage=函数(oEvent){
var f=新的FormData();
f、 附加(键、值);
for(变量对f.条目(){
postMessage(对[0]+“,“+对[1]);
}
};
//其余的工作代码都在这里。
//此脚本将由JS引擎解析
//因为它的mime类型是text/javascript。
//过去……:
//blob生成器已存在
//…但现在我们使用Blob…:
var blob=新blob(
阵列原型
.地图.电话(
document.querySelectorAll(“脚本[type=\'text\/js worker\']”)
,函数(oScript){return oScript.textContent;})
,{type:“text/javascript”});
//创建新的document.worker属性
//包含我们所有的“text/js worker”脚本。
document.worker=newworker(window.URL.createObjectURL(blob));
document.worker.onmessage=函数(oEvent){
页面日志(“接收:+oEvent.data”);
};
//启动工人。
window.onload=function(){document.worker.postMessage(“”;};
因为您正在为它重新分配一个新的FormData对象。@Shyju这意味着:我可以覆盖
key1
?就像:f.append('key1','value2')
,不是吗?是的,您可以再次追加到新对象哦。很抱歉有没有其他方法可以在不发出ajax请求的情况下做到这一点?我认为这是不可能的,但您应该明确地检查这个问题:我不确定这是否对您有效,但请尝试一下,console.log(JSON.stringify(formdata))
console.log(JSON.stringify(formdata))
打印{}
:@user297904“但正如我从最新版本Firefox支持的文档中所看到的”在chrome上,chrome可以启用harmony flag,对于FormData.entries()
,它现在只在FF dev edition上工作。@HappyCoding”对于FormData.entries(),它现在只在FF dev edition上工作“应返回chrome中的预期结果,chrome设置了--javascript harmony
标志,请参阅js
at post在chromium 49No上进行了尝试。医生()说只有44英尺。FF的最新版本是43.0.3。这是FF开发版的45.0a2。我刚试过。@HappyCoding“没有。文档(developer.mozilla.org/en US/docs/Web/API/FormData/entries)说它只有FF 44。FF的最新版本是43.0.3。FF开发版是45.0a2。我刚试过。”在chrome上试过,chrome上设置了--javascript harmony
标志?还没有在firefox上试用过js
at post在chromium 49进行了试验FormData.entries()
应该可以在firefox nightlySorry上使用,我只需转到chrome://flags/#enable-javascript和谐
和启用实验javascript
。然后从中复制示例并重试。控制台日志显示错误消息:formData.entries不是函数
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>MDN Example - Embedded worker</title>
<script type="text/js-worker">
// This script WON'T be parsed by JS engines
// because its mime-type is text/js-worker.
// var myVar = "Hello World!";
var key = "key1";
var value = "value1";
// myVar.append('key1', 'value1');
// Rest of your worker code goes here.
</script>
<script type="text/javascript">
// This script WILL be parsed by JS engines
// because its mime-type is text/javascript.
function pageLog (sMsg) {
// Use a fragment: browser will only render/reflow once.
var oFragm = document.createDocumentFragment();
oFragm.appendChild(document.createTextNode(sMsg));
oFragm.appendChild(document.createElement("br"));
document.querySelector("#logDisplay").appendChild(oFragm);
}
</script>
<script type="text/js-worker">
// This script WON'T be parsed by JS engines
// because its mime-type is text/js-worker.
onmessage = function (oEvent) {
var f = new FormData();
f.append(key, value);
for(var pair of f.entries()) {
postMessage(pair[0] + ", " + pair[1]);
}
};
// Rest of your worker code goes here.
</script>
<script type="text/javascript">
// This script WILL be parsed by JS engines
// because its mime-type is text/javascript.
// In the past...:
// blob builder existed
// ...but now we use Blob...:
var blob = new Blob(
Array.prototype
.map.call(
document.querySelectorAll("script[type=\"text\/js-worker\"]")
, function (oScript) { return oScript.textContent; })
, {type: "text/javascript"});
// Creating a new document.worker property
// containing all our "text/js-worker" scripts.
document.worker = new Worker(window.URL.createObjectURL(blob));
document.worker.onmessage = function (oEvent) {
pageLog("Received: " + oEvent.data);
};
// Start the worker.
window.onload = function() { document.worker.postMessage(""); };
</script>
</head>
<body><div id="logDisplay"></div></body>
</html>
// Log entries of a FormData object to the console as an object.
export const logFormData = (formData) => {
const entries = formData.entries();
const result = {};
let next;
let pair;
while ((next = entries.next()) && next.done === false) {
pair = next.value;
result[pair[0]] = pair[1];
}
console.log(result);
};