开发者社区 问答 正文

struts2下注解形式 jsonp 跨域

我现在在一个名为front的工程下写的代码,需要调用另一个工程passport里面的一个action来进行数据校验。但是我在本地测试的时候提示无法跨域,在网上搜索后得到使用jsonp可以进行跨域,前端js里面是这样写的

$.ajax({
                 url: 'http://localhost:8988/front/registervip/memberRecommendedInfoForDanBao.action',
                 dataType:"jsonp",
                 data: {customerServiceId: encodeURI(customerServiceId)}, 
                 jsonpCallback: "handle",
              })
             
            .done(function(data){
                alert("success");
            })
            .fail(function(data){
                alert("fail");
            });
action里面需要怎么配置呢,因为这个项目struts2中全是使用注解来完成的,我在网上看到的都是在xml里面进行配置的。比如这种

<package name="npds/login" namespace="/system/npds/login" extends="json-default">
        <global-results>
            <result type="json">           
                <param name="callbackParameter">callback</param>
            </result>
        </global-results>    
        <action name="findUser" class="com.cin.npds.LoginAction" method="findUser"/>    
        <action name="login" class="com.cin.npds.LoginAction" method="login"/>    
        <action name="initCookieUser" class="com.cin.npds.LoginAction" method="initCookieUser"/>
    </package>

如果我在action里面没进行配置,js里面一直走fail。无法进入success

如果使用注解,我需要进行哪些配置呢?

展开
收起
a123456678 2016-07-12 16:46:43 2786 分享 版权
1 条回答
写回答
取消 提交回答
  • JsonP需要服务器端返回的内容是Javascript格式的,例如你传过去的callback的名字为jscallback,那么服务器端相应的内容就应该是: jscallback({})

    2019-07-17 19:55:14
    赞同 展开评论