Javascript Ajax请求跨域json数据和显示?
我有一个从另一个域获取JSON数据的函数,但我不知道它有什么问题。它从不触发success函数,也不会返回任何错误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
$.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是正确的。