1

我使用 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 后

4

2 回答 2

3

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

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

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

    });
于 2013-07-23T07:35:25.990 回答
0

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

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

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

于 2013-07-23T07:38:49.797 回答