繁体   English   中英

在JS中,如何在给定URL和application / x-www-form-urlencoded字符串的情况下进行POST?

[英]In JS, how to make a POST given a URL and a application/x-www-form-urlencoded string?

我有一个application/x-www-form-urlencoded字符串和一个目标URL。 如何使浏览器打开该URL并将字符串用作POST正文?

编辑 :我知道如何使用URL和数组(例如this )来做到这一点 ,因此将字符串解析为数组的可靠方法也是一个答案。

警告:完全未经测试的代码如下。

function post_form(url, body) {
    var form = document.createElement('form');
    form.method = 'POST';
    form.action = url;

    var kvs = body.split('&');
    for (var i = 0; i < kvs.length; i++) {
        var kv = kvs[i];
        var k, v, p = kv.indexOf('=');
        if (p >= 0) {
            k = kv.substring(0, p);
            v = kv.substring(p + 1);
        } else {
            k = kv;
            v = '';
        }
        k = decodeURIComponent(k);
        v = decodeURIComponent(v);

        var input = document.createElement('input');
        input.type = 'hidden';
        input.name = k;
        input.value = v;
        form.appendChild(input);
    }

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

您可以使用jquery将ajax 链接发布到ajax属性和默认值 这是帖子示例

jQuery ajax请求具有默认值

contentType:'application / x-www-form-urlencoded; charset = UTF-8'

$.ajax({
  type: "POST",
  url: url,
  data: data,
  success: successcallback,
  dataType: dataType
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM