我正在对来自javascript函数的后端进行JSONP调用,以便在json中获取响应数据。如何从java端执行此操作?

时间:2017-07-01 11:36:59

标签: java ajax networking jsonp

我使用ajax从触发以下跨域JSONP调用:

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

以下是从网络选项卡中看到的查询字符串参数: -

callback=callback&id=123456&_=1498907401152

但是由于安全性和防止漏洞我想从Java端做这个调用。如何从java端执行上面发布的等效JSONP调用?我正在使用Struts2动作类。

1 个答案:

答案 0 :(得分:0)

Here您看到了:

  

JSONP只是一个允许网络应用程序检索数据的黑客攻击   域。可以说它违反了同源政策   (SOP)。它的工作方式是使用Javascript插入“脚本”   元素进入你的页面。

因此,当您想使用Java端时,您不需要JSONP。只需在您的操作中执行JSON HTTP POST(如here),处理响应并填写您的操作并返回SUCCESS。