Я использую jquery ajax api для отправки (POST / GET) текста в качестве параметра на страницу обработки.
<input type="text" id="txtboxdata" name="txtboxdata" >
var dataString = "tmpVar="+ escape( $("#txtboxdata").val() );
$.ajax({ type: "POST",
url: "processing.jsp",
data: dataString ,
dataType: "json",
success: function(){}
});
//dataString holds the parameter and value to be passed. Value is retrieved from a text box.
Если текстовое поле
- содержит символы UTF-8
и
- применить javascript "escape" к значению текстового поля
затем параметр tmpVar исчезает из объекта запроса на странице обработки (processing.jsp).
Я использовал отладчик и проверил объект запроса. Параметр под названием "tmpVar" никогда не появляется.
Это работает правильно, когда выполняются следующие условия
tmpVar появляется в объекте запроса processing.jsp, когда
- нет символов UTF-8.
- Я не применяю «escape» до вызова ajax.
Мой вопрос
Я хотел бы понять, почему применение escape для текста, содержащего UTF-8, не отображается в объекте запроса?
PS: я использовал "form serialize ()" для решения проблемы, просто пытаясь понять, почему проблема возникла.
Firebug: выглядит хорошо, всегда отображается правильно. Нет пропущенных данных до фактического POST / GET.