Heim >Backend-Entwicklung >PHP-Tutorial >javascript - Wenn Thinkphp Ajax verwendet, wird manchmal ein Fehler gemeldet, wenn eine relative Adresse verwendet wird. Was ist der Grund?

javascript - Wenn Thinkphp Ajax verwendet, wird manchmal ein Fehler gemeldet, wenn eine relative Adresse verwendet wird. Was ist der Grund?

WBOY
WBOYOriginal
2016-08-18 09:16:151159Durchsuche

Zum Beispiel:

<code>var root=window.location.origin;

$.post(root+"/"+url,data,function(d){
    console.log(d);
  if(d.status==1){
    location.reload();
  }
})
</code>

Im obigen Code hat die URL beispielsweise bereits die relative Adresse mithilfe der U-Methode erhalten.
Wenn ich die URL beim Posten direkt verwende, wird die gesamte Seite zurückgegeben.
Nach dem Hinzufügen von Root kann sie normal verwendet werden.

Haben Sie jemals eine ähnliche Situation erlebt?

Und so kommt es nur an manchen Orten vor, das passiert nicht generell.

Diese Seite verwendet den Baidu-Editor. Wird es irgendwelche Auswirkungen geben?

Zusätzliche Erklärung:
Das Obige ist möglicherweise nicht klar ausgedrückt. Nachdem ich root hinzugefügt habe, lautete die Anforderungsadresse: root „/“ url
Wenn sie nicht hinzugefügt wurde, lautete die Anforderungsadresse: url (I habe es zu diesem Zeitpunkt nicht hinzugefügt, ohne „/“ voranzustellen.

Die Adresse der URL wird auf dieser Seite mit der U-Methode von Thinkphp ermittelt. Sie kann natürlich direkt aufgerufen werden und ist daher die richtige Adresse.

Antwortinhalt:

Zum Beispiel:

<code>var root=window.location.origin;

$.post(root+"/"+url,data,function(d){
    console.log(d);
  if(d.status==1){
    location.reload();
  }
})
</code>

Im obigen Code hat die URL beispielsweise bereits die relative Adresse mithilfe der U-Methode erhalten.
Wenn ich die URL beim Posten direkt verwende, wird die gesamte Seite zurückgegeben.
Nach dem Hinzufügen von Root kann sie normal verwendet werden.

Haben Sie jemals eine ähnliche Situation erlebt?

Und so kommt es nur an manchen Orten vor, das passiert nicht generell.

Diese Seite verwendet den Baidu-Editor. Wird es irgendwelche Auswirkungen geben?

Zusätzliche Erklärung:
Das Obige ist möglicherweise nicht klar ausgedrückt. Nachdem ich root hinzugefügt habe, lautete die Anforderungsadresse: root „/“ url
Wenn sie nicht hinzugefügt wurde, lautete die Anforderungsadresse: url (I habe es zu diesem Zeitpunkt nicht hinzugefügt, ohne „/“ voranzustellen.

Die Adresse der URL wird auf dieser Seite mit der U-Methode von Thinkphp ermittelt. Sie kann natürlich direkt aufgerufen werden und ist daher die richtige Adresse.

Die relative Adresse ist die Adresse relativ zur aktuellen Browser-Adressleiste und hat nichts mit ThinkPHP zu tun.

/ ist die Root-Adresse. Verwenden Sie /, um über den Domainnamen/die URL zuzugreifen. Wenn es sich bei der von Ihnen besuchten Untergrundadresse um die Root-Adresse handelt, wird es auch Probleme geben, wenn Sie nicht gefunden werden.
Wenn Sie „window.location.origin“ verwenden, wird angezeigt, dass die von Ihnen angeforderte URL unter der relativen Adresse „window.location.origin“ liegt.
Sie sollten Ihre URL verwenden Rufen Sie den AJAX-Anforderungspfad aus dem Stammverzeichnis ab und schreiben Sie ihn im vollständigen Pfad. Dieses Problem selbst hat nichts mit TP zu tun. Es liegt an Ihrem eigenen falschen Verständnis der Anforderungsadresse.

base_urlDafa ist gut.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn