getJSON没有将html数据输出到div中

时间:2016-11-08 18:19:00

标签: javascript jquery

如果我尝试输出console.log(data)中的getJSON是正常的,我会看到它,但它不会像我期望的那样进入div。

试试这个:

$.getJSON("http://en.wikipedia.org/w/api.php?action=parse&format=json&callback=?", 
{
  page:"Football", prop:"text"
}, function(data) {
    $(".modal-content").html(data);
});

<div class="modal-content"></div>

注意:控制台没有错误且div为空

1 个答案:

答案 0 :(得分:2)

您必须正确访问返回对象的text属性。只是尝试通过传递返回的对象来设置.html(..将不起作用,因为jquerys .html()方法需要函数或字符串作为参数。

根据wiki API:JSON version 2,您可以将以下属性添加到传递给$.getJSON的选项对象。

formatversion:2
  

消除无用的间接,例如{"text":"..."}代替{"text":{"*":"..."}}{"key1":"value1","key2":"value2"}代替[{"name":"key1","*":"value1"},{"name":"key2","*":"value2"}]

所以这是正确的anwser。

var location = "https://en.wikipedia.org/w/api.php?action=parse&format=json&callback=?";

$.getJSON(location, {
  page:"Football", 
  prop:"text", 
  formatversion: 2
}, function(data) {
    $(".modal-content").html(data.parse.text);
    //console.log(data.parse.text)
});