CodeIgniter / jQuery - Der Ajax-Aufruf gibt die vollständige HTML-Seite anstelle meines Echos zurück

8

Aus meiner Sicht habe ich einen Ajax-Aufruf:

%Vor%

die Funktion get_cal in meinem Planer-Controller:

%Vor%

Statt jedoch "Dinosaurier" zurückzugeben, gibt es eine vollständige HTML-Seite zurück. Ich kann nicht herausfinden warum. Gedanken? Vielen Dank.

    
cabaret 12.04.2011, 15:14
quelle

7 Antworten

10

Ich löste das, indem ich einen führenden Schrägstrich wie in den Kommentaren zu meiner Frage vorgeschlagen verwendete.

%Vor%     
cabaret 15.04.2011, 22:40
quelle
3

Sie können es auch erhalten, indem Sie exit after echo in Ihrer PHP-Datei wie folgt hinzufügen:

%Vor%

Es wird funktionieren. :)

    
RiksAndroid 16.10.2012 14:26
quelle
0

Setzen Sie den dataType auf "text"

%Vor%     
JHurrah 12.04.2011 15:57
quelle
0

Bei der Verwendung der CodeIgniter-Struktur von Controler / Method uri-Segmenten habe ich es viel einfacher gefunden, ../../controller/method als meine URL in jquery ajax-Anfragen zu verwenden. Ich empfehle auch, einen Datentyp anzugeben, damit die Zeichenfolge analysiert und als Objekt zurückgegeben wird.

Hier ist ein Beispiel;

%Vor%     
Peter 12.04.2011 20:22
quelle
0

Diese Art von Problem kommt, wenn Ihre PHP-Datei und HTML-Datei nicht auf dem richtigen Pfad sind, so dass Apache-Server PHP-Dateien analysieren kann. Ohne den Typ "Text" und ein anderes Format zu nennen, funktioniert ajax auch. Aber sei sicher, dass dein Server die php-Datei erreicht. Andernfalls wird die ganze Datei als Text behandelt und zurückgegeben.

    
Rakesh Ray 10.03.2012 12:35
quelle
0

Für jeden, der das Zend Framework verwendet, hatte ich die gleichen Probleme, wo die AJAX-Antwort den vollständigen HTML-Code anstelle der json_encode() -Antwort zurückgegeben hat. Dies wurde durch Hinzufügen der folgenden zu meinem Controller gelöst:

%Vor%     
altimus 22.08.2011 19:00
quelle
0
___ answer12916938 ___

Sie können es auch erhalten, indem Sie exit after echo in Ihrer PHP-Datei wie folgt hinzufügen:

%Vor%

Es wird funktionieren. :)

    
___ qstnhdr ___ CodeIgniter / jQuery - Der Ajax-Aufruf gibt die vollständige HTML-Seite anstelle meines Echos zurück ___ answer5683034 ___

Ich löste das, indem ich einen führenden Schrägstrich wie in den Kommentaren zu meiner Frage vorgeschlagen verwendete.

%Vor%     
___ answer5638170 ___

Setzen Sie den dataType auf "text"

%Vor%     
___ qstntxt ___

Aus meiner Sicht habe ich einen Ajax-Aufruf:

%Vor%

die Funktion get_cal in meinem Planer-Controller:

%Vor%

Statt jedoch "Dinosaurier" zurückzugeben, gibt es eine vollständige HTML-Seite zurück. Ich kann nicht herausfinden warum. Gedanken? Vielen Dank.

    
___ answer5641180 ___

Bei der Verwendung der CodeIgniter-Struktur von Controler / Method uri-Segmenten habe ich es viel einfacher gefunden, ../../controller/method als meine URL in jquery ajax-Anfragen zu verwenden. Ich empfehle auch, einen Datentyp anzugeben, damit die Zeichenfolge analysiert und als Objekt zurückgegeben wird.

Hier ist ein Beispiel;

%Vor%     
___ answer9646461 ___

Diese Art von Problem kommt, wenn Ihre PHP-Datei und HTML-Datei nicht auf dem richtigen Pfad sind, so dass Apache-Server PHP-Dateien analysieren kann. Ohne den Typ "Text" und ein anderes Format zu nennen, funktioniert ajax auch. Aber sei sicher, dass dein Server die php-Datei erreicht. Andernfalls wird die ganze Datei als Text behandelt und zurückgegeben.

    
___ tag123jquery ___ jQuery ist eine beliebte Cross-Browser-JavaScript-Bibliothek, die das DOM-Traversal (Document Object Model), die Ereignisbehandlung, Animationen und AJAX-Interaktionen erleichtert, indem die Diskrepanzen zwischen Browsern minimiert werden. Eine mit jQuery gekennzeichnete Frage sollte mit jQuery in Zusammenhang stehen, daher sollte jquery von dem fraglichen Code verwendet werden, und mindestens eine jquery-nutzungsbezogene Elemente müssen in der Frage enthalten sein. ___ tag123ajax ___ AJAX (Asynchrones JavaScript und XML) ist eine Technik zum Erstellen nahtloser interaktiver Websites über den asynchronen Datenaustausch zwischen Client und Server. AJAX erleichtert die Kommunikation mit dem Server oder partielle Seitenaktualisierungen ohne eine herkömmliche Seitenaktualisierung. ___ answer7152223 ___

Für jeden, der das Zend Framework verwendet, hatte ich die gleichen Probleme, wo die AJAX-Antwort den vollständigen HTML-Code anstelle der %code% -Antwort zurückgegeben hat. Dies wurde durch Hinzufügen der folgenden zu meinem Controller gelöst:

%Vor%     
___ tag123php ___ PHP ist eine weit verbreitete, dynamische, objektorientierte und interpretierte Skriptsprache, die primär für die serverseitige Webentwicklung entwickelt wurde. ___ tag123coderigniter ___ CodeIgniter ist ein Open-Source-Webentwicklungs-Framework für PHP, das von EllisLab Inc. entwickelt und vom British Columbia Institute of Technology übernommen wurde. Das Framework implementiert eine modifizierte Version des Model-View-Controller-Entwurfsmusters. Verwenden Sie dieses Tag für Fragen zu CodeIgniter-Klassen, Methoden, Funktionen, Syntax und Verwendung. ___ antwort19212485 ___

wollte nur erwähnen: Die URL hängt wirklich davon ab, wie Sie Ihre .htaccess- und Ordnerstruktur eingerichtet haben. Der beste Weg besteht also darin, mehrere URLs zu testen, z ../../controller/methode
../controller/methode Server_Ordner / index.php / Controller / Methode
Ссылка
und dann wähle diejenige aus, die in einer bestimmten Situation am besten funktioniert.

    
___
Maxim Safioulline 06.10.2013 18:39
quelle

Tags und Links