2016-08-31 2 views
0

Ich möchte Ajax auf meiner Seite verwenden, wo ich Schlüsselwertpaar über URL übergeben möchten.Pass = in Ajax URL

xhttp.open("POST", "/ajax/myjsp.jsp?str=key1=value1|key2=value2" , true); 

Auf request.getParameter ("str") macht auf myjsp.jsp es key1 = value1 geben sollte | key2 = value2.

+3

Verwenden 'encodeURIComponent' sicher zu machen' = 'richtig codiert als'% 3D' usw. –

Antwort

0

Es funktionierte, wie es in meiner Frage geschrieben wird. Der Fehler war es wurde nicht AJAX-Dateipfad erhalten. Nur entfernt/am Anfang und es hat funktioniert.

0

function myFunction() { 
 
    var uri = "/ajax/myjsp.jsp?str=key1=value1|key2=value2"; 
 
    var res = encodeURI(uri); 
 
    document.getElementById("demo").innerHTML = res; 
 
}
<p>Click the button to encode a URI.</p> 
 

 
<button onclick="myFunction()">Try it</button> 
 

 
<p id="demo"></p>

+0

Mir ist klar, OP bereits kommentiert, dass das Problem an anderer Stelle war, aber für das, was es wert ist Beachten Sie, dass 'encodeURI' keine Zeichen codiert, die in einem URI gültig sind. Wenn der Wert von "str" ​​also ein "&" enthält, wird dies erlaubt, und der Server wird dieses Zeichen als das Ende von "str" ​​behandeln. Lieber etwas wie: 'var str = 'key1 = value1 | key2 = value2; var uri = '/ajax/myjsp.jsp?str=' + encodeURIComponent (str); ' –