2

JSON URL:http ://en.wikipedia.org/w/api.php? format=json&action=opensearch&search= "+str+"&namespace=0&suggest=

这里的“str”可以是任何 2-3 个字符,例如 str = 'nas' 然后 JSON URL:http ://en.wikipedia.org/w/api.php?format=json&action=opensearch&search=nas&namespace=0&suggest=

我想获取所有结果并将这些结果放在一个表中

我尝试了 AJAX、JSON、JQUERY 任何人都可以向我发送执行此操作的工作代码。

我的虚拟代码为:-

<!DOCTYPE html>
<html>
<head>
<script type="application/javascript">
function FillSearchBox(str)
{
    var xmlhttp = new XMLHttpRequest();
    xmlhttp.onreadystatechange=function()
    {

        if (xmlhttp.readyState==4 && xmlhttp.status=200)
        {
            //Pointer never Comes in this Section (If I Debuug I got xmlhttp.status=0 every time) 
            var JSONObject = JSON.parse(xmlhttp.responseText);
        }
    }
    var strr= "http://en.wikipedia.org/w/api.php?format=json&action=opensearch&search="+str+"&namespace=0&suggest=";
    xmlhttp.open("GET",strr,true);
    xmlhttp.send();
}
</script>
</head>
<body>
<form>
<input type="text" name="wikisearch" id=""   onkeyup="FillSearchBox(this.value)" />
</form>
<!-- add Table or Div Here -->
</body>
</html>
4

1 回答 1

1

您需要使用 JSONP 进行跨域请求:

function gotData(d) { alert(d); }

var s = document.createElement('script');
s.src = "http://en.wikipedia.org/w/api.php?format=json&action=opensearch&search="+str+"&namespace=0&callback=gotData";
s.appendTo(document.body);

请注意,使用 jQuery 会更容易。

于 2012-08-27T14:32:45.593 回答