JQuery обрабатывать строки как переменные? - PullRequest
0 голосов
/ 02 октября 2009

Я немного поработал со Scriptaculous, и теперь я погружаюсь в JQuery, чтобы посмотреть, с какой из двух фреймворков мне больше всего нравится работать. Я сталкиваюсь с некоторым поведением, которое кажется мне странным ...

        $.ajax({
        type: "POST",
        url: "addcart.php",
        data: "userID="+ userID + "&cardID=" + cardID + "&cardQTY=" + cardQTY + "&set=m10",
        success: function(msg){alert("succeed " + msg)},
        error: function(msg){alert("fail " + msg)}
    });

Я стараюсь, чтобы имена переменных были как можно более похожими от страницы к странице, поэтому я пытался передать «имя переменной = значение переменной» в мой PHP. Тем не менее, этот вызов продолжал передавать "foo = foo & bar = bar" от userID = foo & cardID = bar ", что приводило в замешательство, пока я не заметил, что происходит.

Полагаю, мой вопрос в том, вызвал ли я какую-то ошибку или это преднамеренная особенность JQuery? Я вижу, что это удобно, когда я пытаюсь сделать "$ ('# variable')", если это намеренно ...

Изменить, чтобы добавить:

В конце приема все, казалось, работало нормально. Просто имена переменных были не такими, как я ожидал, поскольку они передавали значение переменной = значение переменной вместо имени = значение

Когда я изменил код на приведенный ниже, функция работала так, как я и предполагал, я предполагаю, что имена нигде не используются в качестве переменных:

            $.ajax({
        type: "POST",
        url: "addcart.php",
        data: "UID="+ userID + "&CID=" + cardID + "&QTY=" + cardQTY + "&set=m10",
        success: function(msg){alert("succeed " + msg)},
        error: function(msg){alert("fail " + msg)}
    });

Я предпочитаю, чтобы имена переменных были одинаковыми, поэтому я предполагаю, что ответ ниже будет работать для меня?

1 Ответ

1 голос
/ 02 октября 2009

Это не ошибка, это особенность! JQuery пытается упростить вашу жизнь, позволяя передавать данные параметров в качестве свойств объекта, а не возиться с манипуляциями со строками и кодировками.

data: {
    userID: userID,
    cardID: cardID,
    cardQTY: cardQTY,
    set: 'm10'
}

Кажется, он поддерживает передачу пользовательской строки запроса, вы уверены, что она правильно сконструирована?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...