Ryszard J.

Ryszard J. Informatyk,
wdrożeniowiec
oprogramowania,
szkoleniowiec

Temat: Konflikt routingu i wywołań ajax jquery w Zend Framework 2

Witam,

Napotkałem ciekawe zachowanie Zend Framework w połączeniu z jquery

1. do projektu Zend dodana jest biblioteka jquery 1.8

2. Używane są funkcje jquery ajax()
Ich przykładowy kod:

$.ajax({
type: "POST",
url: "./application/application/rozpocznijsprawdzaniewszystkichmodeli",
async: false,
cache: true,
dataType: 'json',

Gdzie url jest ścieżką do modułu i akcji jaka ma zostać uruchomiona.

Wszystkie wywołania ajax uruchamiane przez js działają prawidłowo tzn uruchamiane są odpowiednie akcje, akcje poprawnie zwracają dane etc.

3. Tworzony jest odsyłacz do akcji który przesyła zmienną:

$this->url('konfiguracja', array('action' => 'add', 'id' => '2'));

4. Po użyciu odsyłacza dochodzi do modyfikacji scieżki jaka jest używana w wywołaniach funkcji jquery ajax()

Do ścieżki wstawiany jest ciąg znaków z pliku konfiguracyjnego routingu module.config.php

'route' => '/konfiguracja[/:action][/:id]',

Ścieżka widziana w konsoli Firebug wygląda np tak:

public/konfiguracja/add/application/application/rozpocznijsprawdzaniewszystkichmodeli

konfiguracja/add - to jest dodawane do ścieżki w wywołaniu ajax() co oczywiscie powoduje błąd bo pod tym adresem nie ma akcji .

Ktoś wie jaka jest przyczyna modyfikacji ścieżki i jak temu przeciwdziałać ?

Dziękuję za wskazówkiTen post został edytowany przez Autora dnia 06.02.14 o godzinie 20:22