1

我有一个从另一个域获取 JSON 数据的功能,但我不知道它有什么问题。它永远不会触发成功函数,并且不会返回任何错误。

$.ajax({
    url: "http://other-domain.com/sample/Json.aspx",
    dataType: "jsonp",
    type: 'get',
    crossDomain: true,
    jsonp: 'jsonp_callback',
    success: function() {
        alert('abc'); //when success take json data string but i din get in here
    }
});

有谁知道这里有什么问题?

4

1 回答 1

1

尝试:

$.get('http://other-domain.com/sample/Json.aspx', function(data) {
    alert(data);
});

你应该得到一个带有 json 字符串(实际上是一个字符串)的警报,而不是使用jQuery.parseJSON(data)它,你会得到一个 JSON 对象来处理。

如果这不起作用,也许您需要检查您的获取参数。

编辑:

我刚刚尝试设置此页面:

<head>

    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>

    <script>

        $(document).ready(function(){

            $.getJSON('http://api.flickr.com/services/feeds/photos_public.gne?tags=cat&tagmode=any&format=json&jsoncallback=?',function(data){

                alert(data.title);

            });

        });

    </script>

</head>

<body>

    ... WHATEVER ...        

</body>

它工作得很好,它提醒数据对象中的第一个标题元素。

于 2012-05-03T10:32:17.517 回答