使用Jquery从JSON格式获取GET值的问题

时间:2011-03-31 09:54:22

标签: jquery json jquery-mobile

我尝试从远程服务器获取一些值,这些值以JSON格式生成数据>

$("#productSearchpage").live("pageshow", function(event, ui){

            $.getJSON('http://www.akcniceny.cz/php/mapa-slev-data.php?box[left][lat]=50.5&box[left][lng]=14.5&box[right][lat]=51&box[right][lng]=15&group[]=3&typ[]=zbozi&full=televizor', function(data) {
              $('.result').html('<p>' + data.jmeno + '</p>'
                + '<p>' + data.ulice[1] + '</p>');
            });

但我没有JSON的经验,所以在Jquery网站上使用了教程,不幸的是脚本不起作用。

可以解决什么以及如何正确使用JQUERY和JSON?

感谢您的回复。

3 个答案:

答案 0 :(得分:2)

服务器返回的json无效。
基本上它返回一个对象数组,但在最后一个对象之后有一个不必要的逗号(通常表示另一个对象是数组)。

在构建json服务器端删除最后一个逗号之后返回响应。

如果您无法访问服务器端代码,则无法使用$.getJSON。您将需要流动这些步骤:

  • $.ajax方法与config:dataType: text
  • 一起使用
  • 使用java脚本字符串操作删除尾随逗号
  • 使用$.parseJSON
  • 将字符串解析为json

答案 1 :(得分:0)

请试试这个:

$("#productSearchpage").live("pageshow", function(event, ui){
    $.ajax({
        url: 'http://www.akcniceny.cz/php/mapa-slev-data.php?box[left][lat]=50.5&box[left][lng]=14.5&box[right][lat]=51&box[right][lng]=15&group[]=3&typ[]=zbozi&full=televizor',
        dataType: 'json',
        data: data,
        success: $('.result').html('<p>' + data.jmeno + '</p>'+ '<p>' + data.ulice[1] + '</p>');
    });
});

答案 2 :(得分:0)

此脚本是否在同一个域中? 如果不是浏览器不允许跨域get / post使用xmlhttp请求。您可能必须使用其他解决方法。 Here是详细信息。