Estoy usando jQuery para hacer llamadas ajax, muchas de las cuales funcionan bien, pero acabo de encontrar un problema extraño al intentar enviar una cadena al servidor. He reducido el código de abajo a esto:El objeto JavaScript String se divide en una matriz en jQuery.post
var x = new String('updateGroup');
var y = 'updateGroup';
$.post('page.aspx', {
f: x,
f2: y
}, function(data) {
});
Cuando se golpea el servidor sin embargo, las variables de petición son los siguientes:
Request["f"] null string
Request["f2"] "updateGroup" string
Request.Form.AllKeys {string[12]} string[]
[0] "f[0]" string
[1] "f[1]" string
[2] "f[2]" string
[3] "f[3]" string
[4] "f[4]" string
[5] "f[5]" string
[6] "f[6]" string
[7] "f[7]" string
[8] "f[8]" string
[9] "f[9]" string
[10] "f[10]" string
[11] "f2" string
donde Request["f[0]"]
contiene "u"
etc.
Puede alguien explica por qué sucede esto?
Gracias - tiene sentido. Agregué .toString y .valueOf y ambos parecen solucionar el problema. Me parece extraño que Jquery trate los objetos de cuerdas de esta manera, parece contradictorio para mí. –
El objeto String es una especie de reliquia arcaico, tiene métodos como grande, negrita, parpadeante, tipografía, fontcolor, etc., te da una buena idea de su edad ;-) – oodavid