Salto de formulario en la aplicación
Origen: en ese momento, debido a que estábamos probando UnionPay, el certificado era un certificado de prueba, por lo que no realizamos el proceso en la aplicación. Realizamos el proceso en el navegador móvil. estuvo bien en el proceso, el certificado oficial también. Después de bajar, revisamos la aplicación felizmente Pensamos que todo estaba bien. Inesperadamente, hubo un problema en ios, pero todo estaba bien en Android.
Flujo del programa: cuando el usuario ingresa el monto, seleccione UnionPay y haga clic en Recargar. El front-end ajustará la interfaz del backend. Después del éxito, el backend devolverá un html (UnionPay devuelve el html y no tenemos derecho a hacerlo). modifíquelo.) El front-end analiza el html, obtiene el formulario y coloca el formulario. Ingrese la parte inferior del cuerpo de la página actual y envíe el formulario.
Problema: Al saltar a UnionPay en iOS, se informará un error 501. No hay problema en Android.
Proceso: Se informó un error 501 e inmediatamente le pregunté al cliente. servicio El personal de servicio al cliente dijo: 501 Es porque el método de envío es incorrecto, es un envío de obtención, debería ser un envío de publicación.
Pensé que era porque iOS modificó el método de envío. con el personal de iOS, el personal de iOS dijo que no se ha modificado;
p>
También pensé que el nativo de iOS modificaría el método de envío del formulario y lo probé con el navegador iOS nativo. No hubo ningún problema después de comunicarse nuevamente con el personal de iOS, ambas partes analizaron si había alguna forma de resolver este problema desde sus propias perspectivas.
Me preguntaba si el formulario de envío en el frente. end podría modificarse al método de envío ajax. Desmontamos el formulario aquí y enviamos la interfaz en el método ajax, pero se produjeron problemas entre dominios porque es un método de publicación, que requiere procesamiento relacionado en segundo plano, pero el fondo es de. UnionPay, y no modificaremos las cosas por nuestra culpa; no se ha resuelto en iOS;
Se hace tarde, regresemos primero, pelearemos de nuevo mañana.
No podía dormir por la noche y seguía pensando en esta pregunta, ¡por qué sucede esto! ! Por qué
De repente tuve una idea y pensé que era por el problema de abrir una nueva página aquí en ios (porque la página frontal web abierta en ios es una página nueva, mientras que en Android se abre en la página actual)
envío del formulario, iOS abrirá una nueva página, que es un envío de obtención, por lo que se informará 501.
Al día siguiente, después de comunicarse con el personal de iOS, primero pídale a iOS que comente el contenido del *** público, ábralo en la página actual sin abrir una página nueva y vea si hay un error 501; lo más emocionante En ese momento, ios, front-end y back-end contuvieron la respiración para presenciar el momento del Espíritu Santo. Si no funcionó, realmente fue porque estábamos en el. ¡Afortunadamente, Dios se apiadó de nosotros y las cosas fueron tan tranquilas como el agua que corre! Efectivamente, este es el problema, ¡todo se vuelve muy hermoso!