Domanda

Sto avendo problemi con jQuery. Quello che è strano tuttavia è che funzionerà sul contenitore web, ma non è un altro. Il mio problema è che sto facendo una chiamata Ajax all'estremità posteriore, ma non riesce a costruire l'URI corretto (lo fa su Oracle WebLogic, è stato testato e funziona su Tomcat 7 e Willfly).

Quindi essenzialmente il mio codice sembra questo:

$.get(
    "api/data/drawing?drawing=1&user=anon",
    {},
    function(data) {
        ...
    });
.

su Wildfly e Tomcat chiamerà correttamente l'URL:

http://192.168.1.100:8080/MyApp/api/data/drawing?drawing=1&user=anon

Ma su WebLogic chiamerà:

http://192.168.1.100:8080/api/data/drawing?drawing=1&user=anon

Sebbene l'app sia effettivamente mappata a / myApp (che è l'ID artefatto della guerra). Posso dirlo perché le risorse statiche come immagini e collegamenti indicheranno l'URI corretto.

Sono mancano le opzioni in questo momento perché siamo in un crunch. Mi piacerebbe dire solo non usare il weblogic, o il codice duro, l'URL, ma questo sembra hacky per me. E altro, se il cliente riloca mai il server web, saremmo nei guai. Per favore aiutami a capire questo fuori= (. Immagino che sia un problema weblogic (o forse il loro server non è configurato correttamente) e non un problema con il mio codice. Quindi mi rendo conto che potresti non essere in grado di aiutarmi, ma vale la pena Un colpo giusto? Grazie in anticipo!

È stato utile?

Soluzione

Sembra che tu non abbia impostato il context-root per la tua applicazione in WebLogic.Dovrai impostarlo nella tua applicazione.xml o weblogic.xml:

<weblogic-web-app
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.bea.com/ns/weblogic/weblogic-web-app
        http://www.bea.com/ns/weblogic/weblogic-web-app/1.0/weblogic-web-app.xsd"
    xmlns="http://www.bea.com/ns/weblogic/weblogic-web-app">
    <context-root>MyApp</context-root>
</weblogic-web-app>
.

Puoi vedere un buon esempio qui in Oracle Docs

Altri suggerimenti

Potresti semplicemente impostare una variabile per un baseturl:

var baseUrl = "http://192.168.1.100:8080/MyApp/";

$.get(
 baseUrl + "api/data/drawing?drawing=1&user=anon",
{},
function(data) {
    ...
});
.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top