将2个参数传递给jQuery帖子

时间:2018-06-12 10:39:18

标签: javascript jquery html post

我有这个功能:

function PostData(idTag, nameTag){
    $.post(".../info/act/set?params=" + idTag + nameTag,  function(data, status){
            alert("Data: " + data + "\nStatus: " + status);
    })
}

在HTML中,我得到了包含2个输入的列表:

        <li><label>NAME: <input id="name"></input></label></li>
        <li><label>ID: <input id="ident"></input></label></li>

我尝试做的是将输入值(#name和#ident内容)传递给PostData()函数,以便将数据提交给服务器。 我试过这个但是当我检查日志时它会显示:&#34; params : &#34; [object Object] [object Object]&#34;

function submitData() {
    var name = $("#name").text();
    var loc = $("#loc").text();

    val1=$("#name").val(name);
    val2=$("#loc").val(loc);

    PostData(val1, val2);
}

有什么想法吗?

2 个答案:

答案 0 :(得分:3)

如果没有错,你正试图读取数据 它会像这样

function submitData() {
    var val1=$("#name").val();
    var val2=$("#loc").val();
    PostData(val1, val2);
}

答案 1 :(得分:1)

这里有几个问题需要解决。首先是HTML; <input />元素没有结束标记,因此应将其删除。

在您的submitData()功能中,您获取text()input元素,这些元素将为空,然后将其设置为其值,然后再尝试传递 jQuery对象PostData()

然后

PostData()本身似乎期待字符串,而不是您发送的jQuery对象。将值分隔为单个参数中的逗号分隔字符串或两个单独的参数也是有意义的。以下是如何实现后者的完整实现:​​

&#13;
&#13;
function PostData(idTag, nameTag) {
  $.post('.../info/act/set?id=' + idTag + '&name=' + nameTag, function(data, status) {
    console.log(data, status);
  })
}

function submitData() {
  PostData($("#name").val(), $("#loc").val());
}
&#13;
<li>
  <label>
    NAME: <input id="name" />
  </label>
</li>
<li>
  <label>
    ID: <input id="ident" />
  </label>
</li>
&#13;
&#13;
&#13;