javascript设置位置发送JSON数据

时间:2013-05-09 22:50:53

标签: javascript html json

我要做的是功能相当于在javascript中设置“location”属性,但我想将JSON编码数据发送到服务器。我不想使用AJAX,我想用服务器发回的内容完全替换我的页面内容。

我想我可以通过将form enctype属性设置为“application / json”来使用form.submit来做我想要的,但我不知道如何将我的JSON放入表单数据集中。有可能这样做吗?

3 个答案:

答案 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;
}