【问题标题】:Random Word API Usage随机词 API 使用
【发布时间】:2025-12-25 23:40:06
【问题描述】:

我正在尝试使用 setsetgo 中的随机词 api。

所以我构建了这个 html 来测试它

<!DOCTYPE html>
<html>
<body>

<script>
    function RandomWord() {
        var requestStr = "http://randomword.setgetgo.com/get.php";

        $.ajax({
            type: "GET",
            url: requestStr,
            dataType: "jsonp",
            jsonpCallback: 'RandomWordComplete'
        });

    }


    function RandomWordComplete(data) {
        alert(data.Word);
    }

    RandomWord();
    RandomWordComplete(data);
</script> 
<script src='http://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js'></script>
</body>
</html>

当我执行 $.ajax() 时,脚本似乎停止了。不过,我不知道我做错了什么。

【问题讨论】:

  • 在您的第二个函数调用中,您认为变量数据来自何处以及其中包含什么?
  • 你没有包含 jquery 脚本
  • 检查开发者控制台 (F12) 是否有错误。
  • 我尝试了 jquery 脚本,但它仍然无法正常工作。我认为数据变量来自 $.ajax
  • 它会,但不在那个范围内 - 只有在回调内部它才可用。您在 ajax 调用有时间完成之前显式调用RandomWordComplete(data);,因此即使您可以访问data,它也不会有值。

标签: javascript html random


【解决方案1】:

试试这个:

function RandomWord() {
    var requestStr = "http://randomword.setgetgo.com/get.php";
    $.ajax({
        type: "GET",
        url: requestStr,
        dataType: "jsonp",
    }).done(RandomWordComplete);
}

function RandomWordComplete(data) {
    alert(data.Word);
}

RandomWord();

【讨论】:

  • 我不知道randomword网站,但他们说你必须注册一个id:见randomword.setgetgo.com
  • 该网站实际上是随机词生成器的setgetgo.com/randomword,并且它已经有它的id(它是建立在setgetgo之上的)