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

打算用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回掉才行

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

报告相同问题?

悬赏问题

  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改
  • ¥20 wireshark抓不到vlan