qq_39974751 2022-03-01 00:54 采纳率: 100%
浏览 38
已结题

jquery jsonp跨域调用api,怎么修改为调用text格式返回值

业余的,请各位见谅。
如下代码,当前返回值是jsonp格式,已知api的url中删除format=jsonp参数即可获得text格式的返回值。想知道如何修改可以正常调用显示text格式的返回值?


 <html>
 <head>
      <title>jquery jsonp跨域调用api</title>
      <script src="https://static.3w.cn/static/home/js/jquery-3.2.1.min.js"></script>
      <script>
          $(document).ready(function () {
             $("#btn").click(function () {
                 longUrl = encodeURIComponent("http://www.baidu.com");
                 $.ajax({
                     url: "http://api.suowo.cn/api.htm?format=jsonp&url=" + longUrl + "&key=用户自己的key&expireDate=过期时间(如:2020-08-01)&domain=0",
                     type: "GET",
                     dataType: "jsonp", //指定服务器返回的数据类型
                     success: function (data) {
                         var result = JSON.stringify(data); //json对象转成字符串
                         $("#text").val(result);
                     }
                 });

             });
         });
     </script>
 </head>
 <body>
     <input id="btn" type="button" value="生成短网址" />
     <textarea id="text" style="width: 400px; height: 100px;"></textarea>
</body>
</html>
  • 写回答

2条回答 默认 最新

  • 关注

    不行,前端只有用jsonp格式请求的方法才能跨域请求, 你改用text格式是无法跨域请求的.
    因为用jsonp请求的方法是通过script标签让对方服务器返回xxxxxxxx({json对象数据});的js函数调用的代码来实现跨域请求的.
    你改用text格式就无法作为js代码执行所以出错
    你为什么要改用text格式, text格式的内容应该就在jsonp格式请求返回的json对象的属性中吧, 你取json对象的属性就好了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
    1人已打赏
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 3月9日
  • 已采纳回答 3月1日
  • 创建了问题 3月1日

悬赏问题

  • ¥15 关于#vscode#的问题:ESP32开发板对接MQTT实现小灯泡的开关
  • ¥15 TMC2209串口模式下读取不到寄存器的值串口助手蓝色字体是发过去的消息,绿色字体是收到的消息,第二行发送读取寄存器的指令但是没有读取到寄存器的值串口助手如下图:接线如下图,如何解决?
  • ¥15 高通安卓11提取完整线刷包软件,或者优博讯dt50顺丰刷机包
  • ¥20 C,有个译码器,换了信道就跑不出原来数据
  • ¥15 MIMIC数据库安装问题
  • ¥60 基于JTag协议开发Fpga下载器上位机,哪位大🐂有偿指导?
  • ¥20 全书网Java爬取数据
  • ¥15 怎么获取红包封面的原始链接,并且获取红包封面序列号
  • ¥100 微信小程序跑脚本授权的问题
  • ¥100 房产抖音小程序苹果搜不到安卓可以付费悬赏