使用jQuery GET在JSON文件中获取属性的问题

时间:2013-07-23 07:32:51

标签: javascript jquery json

我使用jQuery get来检索JSON文件上的简单属性。 使用以下脚本我得到了未定义。

我在这里做错了什么?

<script>
    $(document).ready(function() {

        var urlOriginal = 'http://xxx.com/xxx/xxx/xxx/resources.js';
        var urlResource = 'proxy_dr3.php?proxy_url=' + encodeURIComponent(urlOriginal);
        $.get(urlResource, function(data) {
            console.log(data); // I can see all the content from the JSON FILE
            console.log(data.urlPage); // undefined - PROBLEM HERE
            var urlHTML = data.urlPage;

            /*$.get(urlHTML, function(data) {
                $('#result').html(data);
            });*/

        });


    });
</script>

resource.js的内容是json

{

        "urlPage": "http://xxx.com/xxx/xxx/xxx/article_517d960f0cf2fe38916a2f9d.html"
    }

网络中的结果类型为text/html。加载resource.js后

2 个答案:

答案 0 :(得分:3)

$.get不会猜测它是JSON,因为你的服务器提供的mime类型是错误的。

您可以使用JSON.parse解析提供的值(可能是字符串),但您应该使用$.getJSON,以便回调接收解析后的值。

    $.getJSON(urlResource, function(data) {
        console.log(data); 
        console.log(data.urlPage);

    });

答案 1 :(得分:0)

您可以使用最适合您的应用的任何一种方法。

$.ajax({
            type: "GET",
            data: "ur data",
            url: "ur url",
            contentType: "application/json; charset=utf-8",
            success: function(data) {
            }
        });

或者您可以使用$ .getJSON函数