Я использую jQuery.ajax, чтобы извлечь данные формы из страницы и отправить его в мою базу данных (через другую страницу PHP).
Информация формы собрана:
var X=$('#div1').val();
var Y=$('#div2').val();
Это используется для создания строки POST, т.е.
var data='varx='+X+'&vary='+Y;
Очевидно, это проблематично, если символ амперсанда используется. Что лучший метод должен выйти из переменных, особенно так, чтобы пользователь мог безопасно использовать амперсанд (и)?
Спасибо!
Лучше всего использовать объект для данных.
jQuery.post("yourScript.php", {
varx: X,
vary: Y
});
или
jQuery.ajax({
url: "yourScript.php",
type: "POST",
data: ({varx: X, vary: Y}),
dataType: "text",
success: function(msg){
alert(msg);
}
}
);
Вы также можете использовать jQuery serialize () для получения данных формы в виде сериализованной строки запроса:
var data = jQuery(formSelector).serialize();
Метод .serialize () создает текстовую строку в стандартной кодировке URL {{ 1}} обозначение. Он работает с объектом jQuery , представляющим набор элементов формы . Элементы формы могут быть нескольких типов.
На мой взгляд, намного красивее: -)
Я мало что знаю о MMX, но, возможно, вам нужна инструкция PACKSSDW.
Команда PACKSSDW принимает два двойные слова в исходном операнде и два двойных слова в операнд назначения и преобразует их до четырех подписанных слов через насыщенность. Инструкция упаковывает эти четыре слова вместе и сохраняет результат в регистр MMX назначения.
(от http://webster.cs.ucr.edu/AoA/Windows/HTML/TheMMXInstructionSeta2.html )
Изменить: я только что понял, что это были регистры SSE. О, хорошо.
Редактирование: Я собираюсь заткнуться.
-121--3311397-Существует (несколько) официальный вариант: jQuery.validator.format .
Поставляется с подключаемым модулем jQuery Validation 1.6 (по крайней мере).
Довольно похоже на Последовательностях .Формат
, найденный в .NET.
Изменить Фиксированная разорванная ссылка.
-121--621913- encodeURIComponent
будет выполнять то, что вы ищете.
var X = encodeURIComponent($('#div1').val());
var Y = encodeURIComponent($('#div2').val());
При этом будут закодированы все потенциально небезопасные символы.
Вы можете использовать escape-функцию JavaScript
var data='varx='+escape(X)+'&vary='+escape(Y);