美文网首页
JavaScript跨域调用的一种方案配置

JavaScript跨域调用的一种方案配置

作者: 46fdc45388ac | 来源:发表于2017-03-02 17:14 被阅读21次

原文参考 

这里采用的是jsonp的方式,

场景为 请求端A,申请跨域调用 被请求端B 的一个action

请求端B的需要配置action以及编写对应逻辑,struts2下一种配置方式如下

1.貌似配置标签会被过滤,无法直接上源码了

<package name="" namespace="" extends="json-default">

   <action ...name ...method...>

      <param name="callbackParameter">callback</param>

    </action>

</package>

需要注意的是,因为json-default拓展,需要struts2-json-plugin.jar的支持

callbackParameter的名字不可换(应该是和ajax解析有关)

callback需要和请求端设定的jsonp一致。

2.action实现,用上述配置的话,action的返回内容可以通过action类中的callback变量传递

请求A端

$.ajax({

  type : "get",

  async : true,

  url : localhost:8080/sshweb/testAction,

  data : {'id',123},

  dataType : "jsonp",

// 返回时,参数的名字,会默认调用callbackfunction(callback),需要对方指定一个该名字的返回值,否则调用时找不到参数就会出错

jsonp : "callback",

// 回调函数

// jsonpCallback : pcallback

}).done(function(data) {

// 调用成功处理逻辑

}).fail(function() {

// 调用失败处理逻辑

});

//调用成功的情况的回调不用这种链式done的写法,通过指定jsonpCallback也可以。

跨域调用成功后,会自动执行一次jsonpCallback组装callback参数的方法

相关文章

  • 被调用方解决

    被调用方解决 1、被调用方解决 – 支持跨域 (1)被调用方支持跨域解决方案 服务端实现 Nginx配置 Apac...

  • JavaScript跨域调用的一种方案配置

    原文参考 这里采用的是jsonp的方式, 场景为 请求端A,申请跨域调用 被请求端B 的一个action 请求端B...

  • 跨域的概念

    1.跨域问题 什么是跨域? JavaScript出于安全方面的考虑,不允许跨域调用其他页面的对象。(同源策略,浏览...

  • 简述json和jsonp的区别

    1. 先说一下跨域的概念: JavaScript出于安全方面的考虑,不允许跨域调用其他页面的对象。 跨域请求概念 ...

  • vue2.x中的跨域

    一、什么是跨域 url的组成 JavaScript出于安全方面的考虑,不允许跨域调用其他页面的对象。那什么是跨域呢...

  • 2019-01-16

    一、什么是跨域 url的组成 JavaScript出于安全方面的考虑,不允许跨域调用其他页面的对象。那什么是跨域呢...

  • 跨域几种方式

    一、什么是跨域 JavaScript出于安全方面的考虑,不允许跨域调用其他页面的对象。那什么是跨域呢,简单地理解就...

  • 跨域

    什么是跨域 JavaScript出于安全方面的考虑,不允许跨域调用其他页面的对象。那什么是跨域呢,简单地理解就是因...

  • Web前端之“神秘”的跨域方式

    什么是跨域 JavaScript出于安全方面的考虑,不允许跨域调用其他页面的对象。那什么是跨域呢,简单地理解就是因...

  • ZUUL跨域问题

    云环境中每个服务自己有跨域解决方案,而网关需要做最外层的跨域解决方案.如果服务已有跨域配置网关也有,会出现*多次配...

网友评论

      本文标题:JavaScript跨域调用的一种方案配置

      本文链接:https://www.haomeiwen.com/subject/forkgttx.html