如何将请求POST的表单中的数据存储到远程URL

时间:2010-11-27 10:54:41

标签: javascript html forms save return-value

我正在使用Javascript创建帖子表单。

<script type="text/javascript">

function post_to_url(path, method) {
    method = method || "post"; // Set method to post by default, if not specified.

    // The rest of this code assumes you are not using a library.
    // It can be made less wordy if you use one.
    var form = document.createElement("form");
    form.setAttribute("method", method);
    form.setAttribute("action", path);
    form.setAttribute("id", "test");

    var hiddenField = document.createElement("input");
    hiddenField.setAttribute("type", "hidden");
    hiddenField.setAttribute("name", "brand_id");
    hiddenField.setAttribute("value", "23");

    form.appendChild(hiddenField);

    document.body.appendChild(form);
    form.submit();
}

post_to_url("http://www.bilpriser.se/wp-content/plugins/bilpriser_value/ajax.php/get_brand", "POST");

</script>

表单返回一个json文件,如何将文件保存到javascript中的var? Thansk帮忙

最诚挚的问候/约翰尼

1 个答案:

答案 0 :(得分:2)

您的解决方案需要重新加载页面,因为form.submit()会这样做。通过“将文件保存为var”判断,我猜这不是你想要的。

要做一个帖子并留在同一页面上,你需要做AJAX(参见例如jQuery.ajax,这使得它更容易。但是你将受到相同的原始安全策略的约束。如果你能做到请求使用GET而不是POST,您可以使用JSONP。此外,jQuery api也会帮助您。

另一个解决方案是从隐藏的iframe发布表单,但这仍然无法解决相同的原始问题。