显示JSON请求的输出

时间:2012-08-27 14:12:55

标签: javascript ajax json

JSON网址: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>

1 个答案:

答案 0 :(得分: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会更容易。