Mira el código:
var xmlhttp=getHTTPObject();
var post="prueba·prueba+prueba·";
xmlhttp.open('POST', 'test.asp?random='+Math.random(), verdadero);
xmlhttp.setrequestheader("longitud del contenido",post.length);
xmlhttp.setRequestHeader("Tipo de contenido","aplicación/x-www-form-urlencoded");
xmlhttp.onreadystatechange = función(){
si (xmlhttp.readyState == 4 && xmlhttp.status == 200){
alerta(xmlhttp.responseText);
devolver verdadero;
}
}
xmlhttp.send("act="escape(publicación));
Aquí, envié la cadena escape ("test·test+test·") en modo POST y usé setRequestHeader.
Cuando la recibí en el lado ASP, usé
<%Response.CodePage=936%>.
<%Response.Charset="gb2312"
Respuesta.Escribir Unescape(Solicitud("actuar"))
%>
Finalmente, después de la depuración, el resultado que ve es que no se muestra ni "·" ni "+".
Al principio pensé que era el resultado de la incompatibilidad de escape y unescape en asp y javascript. Posteriormente usé vbsunescape (como se muestra a continuación) en lugar de unescape y el problema siguió siendo el mismo.
<script language="javascript" runat="servidor">
función vbsunescape(fuente){
devolver unescape(fuente);
}
</script>
Escapé del +, pero no sé cómo hacerlo. ¿En qué se convirtió? Originalmente quería escribirlo en un archivo binario para verlo (debe ser un archivo binario), pero usé stream para operar. archivo binario en asp. Sigo cometiendo errores al crear archivos. No tengo tiempo para hacer esto. Todavía hay muchas cosas por hacer, así que me conformaré con algunos escapes por ahora. los expertos que ven este blog si lo solucionan me avisan ¡Gracias!
función escape2(cadena){
return escape(str).replace(/+/g,"%2b");
}
-----------------------------------------------
Vi las respuestas de todos, gracias a todos. Después de absorber la esencia de los pensamientos de todos, finalmente lo descubrí. . . .
La solución final perfecta es que
el remitente puede usar encodeURIComponent(escape(xxxxxxx)) (los otros códigos de envío y recepción son los mismos que los anteriores).
Solo probé encodeURI ayer y no pensé en los métodos encodeURIComponent y escape socket. Ahora me inspiré y lo probé, es increíble, ¡OH SÍ! ¡Ve a comer! !