【问题标题】:Post request issue发布请求问题
【发布时间】:2010-02-09 20:11:56
【问题描述】:

我想发出一个帖子请求,我这样做:

        function Xxx_Click() {
            var params = new Array();
            var p1 = new Object();
            p1.Name = "id";
            p1.Value = 1; 
            params.push(p1);
            post('<%=Url.Action("Act","Ctrl")%>', params);
        }
        function post(url, params) {
            var form = document.createElement('form');
            form.action = url;
            form.method = 'POST';
            form.id = "fTest";
            for (var i = 0; i < params.length; i++) {
                var hidden = document.createElement('input');
                hidden.type = 'hidden';
                hidden.id = params[i].Name;
                hidden.name=params[i].Name;
                hidden.value = params[i].Value;
                form.appendChild(hidden);
            }
            $('#fTest').submit();
        }

但我没有到达服务器端。 我想发经典帖子而不是给用户$.post(...),如何做对?

【问题讨论】:

    标签: javascript jquery asp.net-mvc


    【解决方案1】:

    我不确定是什么导致了问题,但解决这些问题可能会奏效:

    使用setAttribute方法设置属性。

    form.setAttribute("action", url);
    form.setAttribute("method", "POST");
    ...
    

    然后,appendChild 表单到文档。很可能表单必须是要在该文档中提交的文档的一部分。

    【讨论】:

    • 我使用 form.submit() 而不是 $('#fTest').submit() 但结果相同:(
    • 那么可能需要附加到文档中才能提交。
    【解决方案2】:

    在进行实际提交之前将其添加到 DOM。实际上,更简单的方法是在 DOM 中创建一个表单并设置值,而不是创建一个新表单。

    【讨论】:

      猜你喜欢
      • 2017-10-31
      • 1970-01-01
      • 1970-01-01
      • 2019-10-03
      • 2014-05-14
      • 1970-01-01
      • 1970-01-01
      • 2018-07-12
      • 1970-01-01
      相关资源
      最近更新 更多