我希望有人可以帮助我.我正在尝试做一个非常基本的事情:使用Jquery从MVC3控制器获取Json.如果我从浏览器直接调用URI http://www.youtipit.org/api/GetTipitByUrl?url=http://utipi.it/t/1834,控制器会返回Json,但是当我尝试执行以下操作时,我得到一个空结果(在Firebug中):
$.getJSON( 'http://www.youtipit.org/API/GetTipitByUrl?url=http://www.youtipit.org/t/J1833',null,function(data) {
if (data) {
alert('It Works!!');
alert(data);
}
});
在firebug中,我得到一个200代码,但响应是空的.我确信在我的Javascript中可以做一些简单的事情来实现这一点,但我是新手.
最佳答案
您可能违反了same origin policy限制.除非您的网站托管在www.youtipit.org,否则您无法向其发送AJAX请求.此限制有两种可能的解决方法:
原文链接:https://www.f2er.com/jquery/427973.html>远程站点支持JSONP(注意与JSON的区别),在这种情况下,JSON响应包含在特殊的回调函数中.为此,远程服务器必须支持它.如果是这种情况,请查看API的文档.您显示的示例URL以及在浏览器中工作的示例url返回普通JSON.
>如果远程服务器不支持JSONP,但只发送XML或JSON,则必须在域上编写控制器操作,该操作将充当域和远程域之间的桥梁.然后,您将向此控制器操作发送AJAX请求,该操作又将使用WebClient向远程域发送HTTP请求.