qq_42692555 2020-10-25 16:49 采纳率: 100%
浏览 243
已采纳

打算用js使用jsonp调用青云客聊天机器人API,却发现无法调用回调函数返回数据,该怎么办呢?

在本地服务器下用jsonp调用青云客聊天机器人API,却发现无法调用回调函数返回数据,愁死我了.

        **以下是源码:**
        ![html页面代码](https://img-ask.csdn.net/upload/202010/25/1603614616_395869.png)
<!DOCTYPE html>
<html>

    <head>
        <meta charset="UTF-8">
        <title></title>
        <script type="text/javascript" src="../js/QF.js"></script>
    </head>

    <body>
        <script type="text/javascript">
            QF.jsonp("http://api.qingyunke.com/api.php", {
                "key": "free",
                "appid": "0",
                "msg": "你好"
            }, function(data) {
                console.log(data);
            });
        </script>
    </body>

</html>
        ![js代码](https://img-ask.csdn.net/upload/202010/25/1603614698_654414.png)

```jsonp: function(url, data, fun) {
// 创建script标签
var script = document.createElement("script");
// 把data做成querystring
var querystring = "";
for (var i in data) {
querystring += i + "=" + data[i] + "&";
}
querystring = querystring.slice(0, -1);
// 把fun这个函数以 data.jsonpcallback为名字 暴露到全局
var funName = data.jsonpcallback;
window[funName] = fun;
script.src = url + "?" + querystring;
document.body.appendChild(script);
// 当代码执行完毕之后 移出script标签 并且 删除window的函数
script.onload = function() {
document.body.removeChild(script);
delete window[funName];
}
}

            **使用的api访问链接:http://api.qingyunke.com/**
            ![图片说明](https://img-ask.csdn.net/upload/202010/25/1603614835_934163.png)
            **以下是浏览器的行为:**
            ![console](https://img-ask.csdn.net/upload/202010/25/1603614964_54690.png)
            ![network](https://img-ask.csdn.net/upload/202010/25/1603615118_8074.png)
            ![header](https://img-ask.csdn.net/upload/202010/25/1603615205_677494.png)
            ![preview](https://img-ask.csdn.net/upload/202010/25/1603615271_232715.png)
            ![response](https://img-ask.csdn.net/upload/202010/25/1603615324_852975.png)

            求求各位大佬了~~~.
  • 写回答

1条回答 默认 最新

  • x_Yaooo 2020-10-26 14:07
    关注

    jsonp要有callback回掉才行

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵