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

发布于 2024-10-28 16:56:44 字数 625 浏览 2 评论 0原文

我尝试从远程服务器获取一些值,这些值生成 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?

感谢您的任何回复。

I trying get some values from remote server, which generate data in JSON format>

$("#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>');
            });

But i have not experience with JSON and so tryied used by tutorial on Jquery site, unfortunately script does not work.

What can be worng and how to right USE JQUERY and JSON together?

Thanks for any reply.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

后来的我们 2024-11-04 16:56:44

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

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

如果您无权访问服务器端代码,您将无法使用 $.getJSON。您将需要执行以下步骤:

  • 使用带有配置的 $.ajax 方法: dataType: text
  • 使用 java 脚本字符串操作删除尾随逗号
  • 使用 < 将字符串解析为 json代码>$.parseJSON

The json returned by the server is not valid.
Basically it returns an array of objects, but after the last object there is an unnecessary comma (which usually indicates that another object is the array).

When constructing the json server side remove the last comma before returning the response.

If you don't have access to the server side code you will not be able to use $.getJSON. You will need flow these steps:

  • Use the $.ajax method with config: dataType: text
  • Use java script string manipulation to remove the trailing comma
  • Parse the string as json using $.parseJSON
潜移默化 2024-11-04 16:56:44

请尝试这个:

$("#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>');
    });
});

Please, try this:

$("#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>');
    });
});
玩套路吗 2024-11-04 16:56:44

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

Is this script in the same domain?
If not browsers don't allow cross-domain get / post using xmlhttp request. You might have to use other workarounds. Here are the details.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文