2013-04-16 70 views
0

我想弄清楚如何在jQuery Mobile中使用JSON检索简单的html内容。从json使用jQuery Mobile获取内容

这里是我迄今所做的:

matchinfo.php:

$str = '<h2>This is a test</h2><p>What is going on here?</p>'; 

echo $_GET['callback'] . '(' .json_encode($str). ')'; 

这里是我尝试接受她:

$(document).on('pageshow', function(){ 

    $.mobile.loading('show'); 
    $.getJSON("http://mypage.com/matchinfo.php", function (result){ 
     $("#pageName").html(result.html); 
    }); 

    $('#pageName').content('refresh'); 
    $.mobile.loading('hide'); 

}); 

的微调只是不断加载!我可以用listview做到这一点,但在这里我只想获得一些内容!?

任何帮助表示赞赏,并在此先感谢:-)

+0

您的代码正在寻找名为'html'的键,但您的数据只是一个扁平的字符串。 'json_encode(array('html'=> $ str));' – DaveRandom

+0

你不应该在url中有'?callback = someCallback'? –

+0

@DaveRandom - 完美...没有看到:-)谢谢... – Mansa

回答

1

你不是输出JSON,你输出JSONP。你可能不应该使用getJSON,JSONp不应该使用XMLHTTPRequest(AJAX)。

getJSON简写为:

$.ajax({ 
    dataType: "json", 
    url: url, 
    data: data, 
    success: success 
}); 

http://api.jquery.com/jQuery.getJSON/

1

您可以使用jQuery $.get代替$.getJSON

$.get('http://mypage.com/matchinfo.php', function(result) { 
    $('#pageName').html(result); 
}); 

还要注意的是,在.html()功能,您只需要通过result代替result.html