冷水月凉 2014-12-24 12:14 采纳率: 0%
浏览 4515

jsonp跨域访问Struts2后台,获取到的数据没有用callback参数包裹是怎么回事啊?

前端代码:

 $.ajax({
            url:'http://localhost:8080/OA/json/json.action?orgid=aaa&code=00002',
            dataType:'jsonp',
            type:"GET",
            dataFilter:function(json,me){
                alert("dataFiter:"+json);
            },
            contentType : "application/json-rpc",
            jsonpCallback : "call",
            success : function(response,status,xhr){
                alert(response);
            },
            error : function(xhr,errText,errStatus){
                alert("error");
            }
        });

后台配置:

 <package name="json" namespace="/json" extends="json-default">
        <action name="json" class="jsonTest" method="shareInfo">
            <interceptor-ref name="json"></interceptor-ref>
            <result type ="json" name="success">
                <param name="noCache">true</param>
                <param name="contentType">text/html</param>
            </result>
        </action>
    </package>

老是提示:Uncaught SyntaxError: Unexpected token :

从network中看到的response数据是json格式的,在线解析也成功了。

  • 写回答

1条回答

  • Go 旅城通票 2015-01-04 01:21
    关注

    jsonp (String) : 在一个jsonp请求中重写回调函数的名字。这个值用来替代在"callback=?"这种GET或POST请求中URL参数里的"callback"部分,比如{jsonp:'onJsonPLoad'}会导致将"onJsonPLoad=?"传给服务器。

    你配置的回调函数名称配置错了,是jsonp,不是jsonpCallback
    jsonpCallback : "call",
    ==>
    jsonp : "call",

    java就不懂了,jsonp你一定要获取到回调函数名称后输出类型 回调函数名称(数据),其他格式会出错

    评论

报告相同问题?

悬赏问题

  • ¥15 Arduino无法同时连接多个hx711模块,如何解决?
  • ¥50 需求一个up主付费课程
  • ¥20 模型在y分布之外的数据上预测能力不好如何解决
  • ¥15 processing提取音乐节奏
  • ¥15 gg加速器加速游戏时,提示不是x86架构
  • ¥15 python按要求编写程序
  • ¥15 Python输入字符串转化为列表排序具体见图,严格按照输入
  • ¥20 XP系统在重新启动后进不去桌面,一直黑屏。
  • ¥15 opencv图像处理,需要四个处理结果图
  • ¥15 无线移动边缘计算系统中的系统模型