2013-04-03 25 views
0

我有这样的代码为我的作品:切换到的getJSON从原始数据

 $('#demo').live('pagecreate', function(event) { 
      var data, template, html; 

      data = { 
"sver": [{"title":"Buffet Stagaljxxs" , "url_titler":"buffet-stagalj" },{"title":"Restoran Vrske" , "url_titler":"restoran-vrske" }] 
}; 

      template = '<ul data-role="listview" data-divider-theme="b" data-inset="false">{{#sver}}<li data-theme="b"><a href="#{{url_titler}}" data-transition="slide"><h3>{{title}}</h3><p>Opis: {{title}}</p></a></li>{{/sver}}</ul>'; 
      html = Mustache.to_html(template, data); 

      $('#content').html(html); 
     }); 

现在我需要使用的getJSON使用远程JSON,而不是原始JSON就像在我的例子。 我无法让它工作。 Access-Control-Allow-Origin不是问题。

这是remote json address

感谢

回答

0

通过电话使用Ajax的数据(如下面的函数)

<script> 
function getJSONData(url) 
{ 
    var data = null; 
    var request = window.XMLHttpRequest ? new XMLHttpRequest() : (window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : null); 

    if (null != request) 
    { 
     request.open('GET', url, false); 
     request.setRequestHeader('Content-type', 'application/x-www-form-urlencoded'); 
     request.send(data); 

     //Parse returned JSON string. 
     data = JSON.parse(request.responseText); 
    } 

    return data; 
} 

$('#demo').live('pagecreate', function(event) { 
    var data, template, html; 

    data = getJSONData('http://wmd.hr/mobile-rss/jason/'); 

    template = '<ul data-role="listview" data-divider-theme="b" data-inset="false">{{#sver}}<li data-theme="b"><a href="#{{url_titler}}" data-transition="slide"><h3>{{title}}</h3><p>Opis: {{title}}</p></a></li>{{/sver}}</ul>'; 
    html = Mustache.to_html(template, data); 

    $('#content').html(html); 
}); 
</script> 
+0

这没有奏效。 我创建了一个小提琴http://jsfiddle.net/fcRgN/2/ 也许你可以解决它。 – user2239570

+0

我对JQuery并不熟悉,但是我意识到我错过了* JSON.parse *函数。我继续编辑我的答案,并将其更改为* data = JSON.parse(request.responseText); *我使用Fiddle播放,无法运行正在* pagecreate *上创建的lambda函数,但是我测试了* getJSONData *函数,它确实工作。如何* $('#demo')。live('pagecreate',function(event){*执行函数? – BPaasch

+0

@ user2239570还有[jQuery.getJSON](http://api.jquery.com/jQuery .getJSON /)函数,它也异步获取这个值。 – BPaasch