我想要做的是在javascript中设置“位置”属性的功能等价物,但我想将JSON编码数据发送到服务器。我不想使用 AJAX,我想用服务器发回的任何内容完全替换我的页面内容。
我想我可以form.submit
通过将表单enctype
属性设置为来做我想做的application/json
事情,但我不知道如何将我的 JSON 放入表单数据集中。是否有可能做到这一点?
我想要做的是在javascript中设置“位置”属性的功能等价物,但我想将JSON编码数据发送到服务器。我不想使用 AJAX,我想用服务器发回的任何内容完全替换我的页面内容。
我想我可以form.submit
通过将表单enctype
属性设置为来做我想做的application/json
事情,但我不知道如何将我的 JSON 放入表单数据集中。是否有可能做到这一点?
您可以将 JSON 作为 URL 的查询组件发送:
document.location.href = server_url + "?" + encodeURIComponent(json_string);
一种方法是使用这样的表单(不像您希望的那样干净,但如果您不想使用 AJAX,您的选择非常有限):
<form action="json.php" method="post">
<input type="hidden" name="json" value="{'x':1}" />
</form>
您可以在提交表单时将输入值设置为字符串化 JSON:
<form method="post" action="myscript.php" onsubmit="DoSubmit();">
<input type="hidden" id="myjsoninput" name="json" value="{'x':1}" />
<input type="submit" name="submit" />
</form>
function DoSubmit(){
document.getElementById("myjsoninput").value = JSON.stringify({a:'b'});
return true;
}