Загрузите динамический html jQuery, изменяя путь к скрипту GET - PullRequest
1 голос
/ 07 марта 2019

Я пытаюсь загрузить HTML из URL динамически. Я использую этот код:

    LoadingSpinner.open();
    $.ajax({
        url: '/Views/MyView',
        data: data,
        dataType: 'html',
        type: 'GET',
        success: function(response){
            //This line trigger the error
            $('#MyDiv').html(response.replaceAll('\n', ''));
            LoadingSpinner.close();
        },
        error: function(){
            LoadingSpinner.close();
            ModalService.abrirModalError('Error de conexion', 'Ha ocurrido un error obteniendo la página');
        }
    });

Когда я нажимаю на один элемент, я запрашиваю GET MyView, это работает нормально, но когда я иду, чтобы отобразить это представление на моей странице, используя jQuery внутри "MyDiv" с $ ('# MyDiv'). Html (. ..) тег сценария внутри этого HTML не работает. HTML-код, содержащий мой тег script, выглядит так:

    <script src="/NuevoERP/includes/js/gestion/productos/detailFamilia.js" type="text/javascript"></script>

<h2>Detalle de la familia {{$familia->desc_nombre}}</h2> 
<div class="col-lg-12 m-t-5">

    <div class="col-lg-3">
        <label>Categoria de la familia: <span class="fontNormal">{{$familia->categoriaFamilia->desc_nombre}}</span></label>
        <label>Referencia: <span class="fontNormal">{{$familia->code_referencia}}</span></label>
        <label>Nombre: <span class="fontNormal">{{$familia->desc_nombre}}</span></label>
        <?php if ($familia->familiaPadre != null) : ?>
            <label>Familia padre: <span class="fontNormal">{{$familia->familiaPadre->desc_nombre}}</span></label>
        <?php endif;?>
    </div>
</div>

Я пытаюсь включить файл javascript с помощью src = "/ NuevoERP / includes / js / gestion / productos / detailFamilia.js", но консоль браузера показывает, что пытается загрузить файл из "http://localhost:8080/NuevoERP/http://localhost:8080/NuevoERP/includes/js/gestion/productos/detailProductoServicio.js", это неверно, правильно "http://localhost:8080/NuevoERP/includes/js/gestion/productos/detailProductoServicio.js"

Я использую Apache с Lumen Framework, мое приложение находится по другому пути, чем мой DocumentRoot, я использую псевдоним, это мой apache.conf:

    #
# Use name-based virtual hosting.
#
NameVirtualHost *:8080

#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for all requests that do not
# match a ServerName or ServerAlias in any <VirtualHost> block.
#
<VirtualHost *:8080>    
    DocumentRoot "/Volumes/HDD/NetBeansProjects/AntiguoERP/Desarrollo/ERP"       
    ServerName localhost    
    Alias /NuevoERP "/Volumes/HDD/NetBeansProjects/BaymaSalt/ERPBaymaSalt/public"
    <Directory "/Volumes/HDD/NetBeansProjects/BaymaSalt/ERPBaymaSalt/public">                            
        AllowOverride All        
    </Directory>
</VirtualHost>

И .htaccess моего Lumen index.php ("/ Volumes / HDD / NetBeansProjects / BaymaSalt / ERPBaymaSalt / public"):

<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews
    </IfModule>

    RewriteEngine On
    RewriteBase /NuevoERP/

    # Redirect Trailing Slashes If Not A Folder...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)/$ /$1 [L,R=301]

    # Handle Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]

    # Handle Authorization Header
    RewriteCond %{HTTP:Authorization} .
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
</IfModule>

Я не мог использовать два разных VirtualHost, мне нужен один хост с моим корневым путем (http://localhost:8080) с php 5.0 и моим Alias ​​/ NuevoERP с php 7.0

1 Ответ

0 голосов
/ 21 марта 2019

Код правильный, проблема в том, что партнер создал перехватчик запросов AJAX и изменил URL во время выполнения, создал его, ничего не сказав, и это изменило запрос веб-браузера на получение файла javascript

...