2016-05-24 6 views
0

Ich muss eine AJAX-Anfrage senden, und das Programm ist in Ordnung, wenn ich es auf meinem PC ausführen. AJAX-URL nicht gefunden, weil der Webserver als Unteranwendung einer anderen Website auf IIS gehostet

$.post("/coupon/sync"/, .....)

Chrome develpment Tools zeigt, dass die Anforderungs-URL ist localhost:8373/coupon/aync

Aber wenn ich die Website in-Server veröffentlichen, die wie Gastgeber:

enter image description here

(Uhr ist die Website, die ich veröffentlicht habe)

Die korrekte Anfrage URL sollte www.xxx.com/pm/coupon/aync, aber die tatsächliche URL ist www.xxx.com/coupon/aync (/ PM fehlt), so dass der Server mir einen 404 nicht gefunden Fehler zurückgegeben.

Da PM ist kein dauerhafter Web-App-Name, kann es Änderungen an PM2 oder sonst etwas. Also möchte ich nicht die PM in jeder Ajax URL-Eigenschaft festgelegt haben. Gibt es eine Lösung?

Antwort

0

setzen Sie "~" Zeichen vor Ihrem Pfad. Überprüfen Sie das folgende Snippet.

$.post("~/coupon/sync"/, .....) 

Oder

$.post("../coupon/sync"/, .....) 

Dies wird für Sie arbeiten.

+0

Funktioniert nicht. benutze '~ /' die URL wechselt zu 'www.xxx.com/pm/~/coupon/sync'. Und benutzen Sie '../' es ist immer noch 'www.xxx.com/coupon/aync' – wtf512

+0

wenn ~ nicht funktioniert dann ../ ist 100% funktioniert .. bitte stellen Sie sicher, dass Sie es an die richtige Stelle setzen. Wenn möglich, teilen Sie Ihre Codebasis hier mit. – CrazyDev

Verwandte Themen