我要做的是功能相当于在javascript中设置“location”属性,但我想将JSON编码数据发送到服务器。我不想使用AJAX,我想用服务器发回的内容完全替换我的页面内容。
我想我可以通过将form enctype属性设置为“application / json”来使用form.submit来做我想要的,但我不知道如何将我的JSON放入表单数据集中。有可能这样做吗?
答案 0 :(得分:2)
您可以将JSON作为URL的查询组件发送:
document.location.href = server_url + "?" + encodeURIComponent(json_string);
答案 1 :(得分:1)
这样做的一种方式是使用这样的形式(不像你想要的那样干净,但如果你不想使用AJAX,你的选择非常有限):
<form action="json.php" method="post">
<input type="hidden" name="json" value="{'x':1}" />
</form>
答案 2 :(得分:0)
您可以在提交表单时将输入值设置为字符串化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;
}