отправить строку с двумя параметрами - PullRequest
4 голосов
/ 26 декабря 2011

У меня есть этот код, но в этой строке есть некоторые проблемы.

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

что отправлено (firebug):

'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 ]

6 голосов
/ 26 декабря 2011

Вы должны сделать:

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

вместо

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

, чтобы убедиться, что введенные значения правильно закодированы в URI.

3 голосов
/ 26 декабря 2011

Попробуйте это:

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

Вместо

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

Символ & должен быть внутри '', и вам нужен дополнительный +, чтобы объединить переменную "name" и '& id ='строка.Так что это должно работать.

UPD:

Вы также можете сделать:

var dataString = { name: name, id: id }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...