Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Ajax请求跨域json数据和显示?_Javascript_Jquery - Fatal编程技术网

Javascript Ajax请求跨域json数据和显示?

Javascript Ajax请求跨域json数据和显示?,javascript,jquery,Javascript,Jquery,我有一个从另一个域获取JSON数据的函数,但我不知道它有什么问题。它从不触发success函数,也不会返回任何错误 $.ajax({ url: "http://other-domain.com/sample/Json.aspx", dataType: "jsonp", type: 'get', crossDomain: true, jsonp: 'jsonp_callback', success: function() { aler

我有一个从另一个域获取JSON数据的函数,但我不知道它有什么问题。它从不触发success函数,也不会返回任何错误

$.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
    }
});
有人知道这里出了什么问题吗?

试试:

$.get('http://other-domain.com/sample/Json.aspx', function(data) {
    alert(data);
});
您应该得到一个带有json字符串(实际上是一个字符串)的警报,然后对其使用
jQuery.parseJSON(data)
,您将得到一个json对象来处理

如果这不起作用,可能需要检查get参数

编辑:

我刚刚尝试立即设置此页面:

<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>


$(文档).ready(函数(){
$.getJSON('http://api.flickr.com/services/feeds/photos_public.gne?tags=cat&tagmode=any&format=json&jsoncallback=?,函数(数据){
警报(数据标题);
});
});
... 无论什么

它工作正常,它会提醒数据对象中的第一个title元素。

试试:

$.get('http://other-domain.com/sample/Json.aspx', function(data) {
    alert(data);
});
您应该得到一个带有json字符串(实际上是一个字符串)的警报,然后对其使用
jQuery.parseJSON(data)
,您将得到一个json对象来处理

如果这不起作用,可能需要检查get参数

编辑:

我刚刚尝试立即设置此页面:

<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>


$(文档).ready(函数(){
$.getJSON('http://api.flickr.com/services/feeds/photos_public.gne?tags=cat&tagmode=any&format=json&jsoncallback=?,函数(数据){
警报(数据标题);
});
});
... 无论什么



它工作正常,提醒数据对象中的第一个title元素。

应该使用包含完整单词和大写字母的连贯句子提问。。。是什么让你认为我们会回答一个你不愿意花超过5秒的时间来写的问题?没有理由否决这个问题-这是一个合理的问题。@马特也许英语不是他的第一语言?你怎么知道没有错误被返回?你为什么没有一个错误处理程序?您希望为此使用CORS或JSONP吗?您的脚本没有输出JSON-P。它正在通过可疑帐户页面重定向,并在HTML中浪费广告页面。(或者你是想使用
example.com
?)应该使用包含完整单词和大写字母的连贯句子提问。。。是什么让你认为我们会回答一个你不愿意花超过5秒的时间来写的问题?没有理由否决这个问题-这是一个合理的问题。@马特也许英语不是他的第一语言?你怎么知道没有错误被返回?你为什么没有一个错误处理程序?您希望为此使用CORS或JSONP吗?您的脚本没有输出JSON-P。它正在通过可疑帐户页面重定向,并在HTML中浪费广告页面。(或者您是想使用
example.com
?)JSON-P请求不应该给您一个JSON字符串。它应该为您提供一个JavaScript对象。为什么使用这种语法会给直接的
$.ajax
调用带来不同的结果?我不是说它会更好,他说他需要一些JSON的东西,他也可以试试$.getJSON()。它更简单,设置的内容更少。$.getJSON()有一种获取跨域数据的方法,但使用的是YQL方法。完全混淆了这一点。我在大学时使用了$.getJSON,可以确保跨域工作。。。我记得我必须在get URL中添加“&format=json&jsoncallback=?”,以使其正常工作。是的,我尝试了,但请求URL失败。我确信我的URL是正确的。json-P请求不应提供json字符串。它应该为您提供一个JavaScript对象。为什么使用这种语法会给直接的
$.ajax
调用带来不同的结果?我不是说它会更好,他说他需要一些JSON的东西,他也可以试试$.getJSON()。它更简单,设置的内容更少。$.getJSON()有一种获取跨域数据的方法,但使用的是YQL方法。完全混淆了这一点。我在大学时使用了$.getJSON,可以确保跨域工作。。。我记得我必须在get URL中添加“&format=json&jsoncallback=?”才能使其正常工作。是的,我尝试了,但请求URL失败。我确信我的URL是正确的。