2017-07-01 1 views
0

Ich bin der unten domänenübergreif JSONP Anruf von Javascript auslösenden Ajax:Ich mache einen JSONP-Aufruf von JavaScript-Funktion, um die Antwortdaten in JSON zu erhalten. Wie macht man das vom Java-Ende aus?

$.ajax({ 
    url: 'https://xyz.abc.com/xxx/xxx/client', 
    type: 'POST', 
    dataType: 'jsonp', 
    jsonpCallback: 'callback', 
    data:{ id: '123456' }, 
    crossDomain: true, 
    contentType: 'application/jsonp' 
}); 

Unterhalb der String-Parameter-Abfrage wie vom Netzwerk Tab gesehen: -

callback=callback&id=123456&_=1498907401152 

Aber wegen der Sicherheit und zu verhindern, Schwachstelle Ich möchte diesen Aufruf von Java-Ende zu tun. Wie kann ich einen äquivalenten JSONP-Aufruf wie oben von java end gemacht machen? Ich verwende eine Struts2-Action-Klasse.

Antwort

0

Bei Here Sie lesen:

JSONP ist einfach ein Hack zu ermöglichen Web-Anwendungen Daten über Domänen abzurufen. Es könnte gesagt werden, dass es gegen die Same Origin Policy (SOP) verstößt. Die Art und Weise, wie es funktioniert, ist mit Javascript, um ein "Skript" Element in Ihre Seite einzufügen.

Wenn Sie also Java-Ende verwenden möchten, brauchen Sie JSONP nicht. Führen Sie einfach einen JSON HTTP POST (wie here) in Ihrer Aktion aus, bearbeiten Sie die Antwort und füllen Sie Ihre Aktion und geben Sie SUCCESS zurück.

Verwandte Themen