syyzz3 2015-04-25 08:45 采纳率: 57.1%
浏览 2273
已采纳

使用jsonp完成跨域请求,但是请求的链接是js文件,请求总是那个js报错,怎莫办?

把链接换成php就没问题。

    $.ajax({
        type:'GET',
        async:false,
        url:"http://app.veishu.com/jsonp/categories/all.js",
        dataType:"jsonp",
        success:function(data){
            alert("success");
   //         alert(data[0]);
   //         var dataHtml=""
   //         for(var i=0; data.length;i++){
   //             dataHtml+="<li><a href='#' id=''></a></li>";
            }
            $(".list").html(dataHtml);

        },
        error:function(){
            alert("ajax is error");
        }
    });
    这个ajax不会进入error,也没有进入success。
    在那个链接的js那报错。
    如果把链接换成php会成功进入success。
    但这个js文件的链接直接在浏览器打开也没有问题,可以出现json。不知怎么回事?
    还有浏览器打开js文件有unicode字符,该怎么转![图片说明](https://img-ask.csdn.net/upload/201504/25/1429951452_561399.png)
  • 写回答

3条回答

  • Go 旅城通票 2015-04-25 10:44
    关注

    你的这个地址又不支持jsonp,jsonp是一段可以执行的js代码。。你的这个地址只返回数据,应该也是跨域的,无法获取这种数据。

    如果这个地址是你的,你应该输出类似

     mycallback({"success":true,"data":[{"name":"\u624b\u5de5DIY","position":0,"slug":"handicraft"},{"name":"\u8fd0\u52a8\u5065\u8eab","position":0,"slug":"sport"},{"name":"\u751f\u6d3b\u5bb6\u5c45","position":0,"slug":"life"},{"name":"\u6587\u5316\u6559\u80b2","position":0,"slug":"cultural"},{"name":"\u624d\u827a\u5a31\u4e50","position":0,"slug":"entertainment"},{"name":"\u7f8e\u5986\u9020\u578b","position":0,"slug":"dress-up"},{"name":"\u996e\u98df\u5065\u5eb7","position":0,"slug":"healthy-diet"},{"name":"\u5b55\u5987\u80b2\u513f","position":0,"slug":"pregnant-parenting"},{"name":"\u517b\u751f\u4fdd\u5065","position":0,"slug":"health-preserving"}]})
    

    的代码,mycallback回调函数你自己再你的html页面写好。。如果你的all.js是重写过的,可以$_GET["callback"]得到jquery注册的回调函数

    
    $_GET["callback"]."(你的那串json数据)";
    

    如果你不能控制,你只能在你站点做代理了,用curl获取远程输出数据,ajax请求你的这个代理php页面

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘