发送带有两个参数的字符串

时间:2011-12-26 19:14:44

标签: javascript jquery parameters

我有这个代码,但这行有一些问题。

 var dataString = 'name='+name&'id='+id;

发送的内容(萤火虫):

'id ' id
'name' name

如果我这样做,上面的行正常工作:var dataString = 'name='+name; 但是,我需要传递两个参数。这样做的正确方法是什么?

 <script type="text/javascript">
    $(function () {
        $(".vote").click(function () {
            var id = $(this).attr("id");
            var name = $(this).attr("name");
            var dataString = 'name='+name&'id='+id;

            if (name == 'up') {
                $.ajax({
                    type: "POST",
                    url: "url.php",
                    data: dataString,
                    cache: false,
                    success: function (html) {

                    }
                });
            return false;
        });
    });
    </script>

2 个答案:

答案 0 :(得分:6)

你应该这样做:

 var dataString = { name: name, id: id}

而不是

 var dataString = 'name='+name&'id='+id;

这样您就可以确保提供的值是正确的URI编码。

答案 1 :(得分:3)

试试这个:

var dataString = 'name='+name+'&id='+id;

而不是

var dataString = 'name='+name&'id='+id;

&amp;应该在''里面,你需要额外的+来连接“name”变量和'&amp; id ='字符串。所以这应该有用。

<强> UPD:

你也可以这样做:

var dataString = { name: name, id: id }