Tengo un proyecto laravel. Cada página de vista tiene su archivo js separado. El problema es que no puedo acceder a las funciones de ruta desde la publicación ajax o recibir una llamada en el servidor en línea (océano digital). El error es:
Failed to load resource: the server responded with a status of 404 (Not Found)La misma aplicación funciona bien en mi sistema local. Cuando agrego la función ajax dentro de la página de diseño (blade.php), funciona bien en el servidor. No es tan agradable cambiar todas mis funciones dentro del diseño. El servidor y la aplicación funcionaban bien hasta ayer. Hice algunos cambios en el diseño y lo saqué de bitbucket al servidor hoy. Después de eso ocurrió este error. ¿Hay algo que deba hacer en el servidor después de extraerlo de bitbucket? Solo saqué los cambios realizados en el diseño.
Mi función de ruta:
Route::prefix('invoice_vno_bind')->group(function () { Route::get('/', 'InvoiceController@getnextvno')->name('invoice_vno_bind'); });Función AJAX:
$.ajax({ type: "GET", url: "invoice_vno_bind", contentType: "application/json; charset=utf-8", dataType: "json", success: function(data){ $('#txtVNo').val(data); }, failure: function (response) { alert(response.d); }, error: function (response) { alert(response.responseText); } });La función de error de ajax se ejecuta cuando se ejecuta en un servidor en línea.
Primero, blade.php en agregar parámetro oculto.
<input type="hidden" name="ajax_url" id="ajax_url" value="{{ route('invoice_vno_bind') }}">
Y luego obtenga el valor id="ajax_url" en el archivo js.
var url = $('#ajax_url').val(); $.ajax({ type: "GET", url: url, contentType: "application/json; charset=utf-8", dataType: "json", success: function(data){ $('#txtVNo').val(data); }, failure: function (response) { alert(response.d); }, error: function (response) { alert(response.responseText); } });Finalmente obtuve el error. Fue debido a algunas líneas de programa en /etc/nginx/sites-enabled/{your file name}
Comenté los códigos a continuación:
# location ~ /.(?!well-known).* { # allow all; # } }Después de comentar funcionó bien. No sé si esto afectará a otros campos. Hasta ahora funciona perfectamente.
Gracias a todos por sus sugerencias.