我希望有人可以帮助我.我正在尝试做一个非常基本的事情:使用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请求.此限制有两种可能的解决方法:
>远程站点支持JSONP(注意与JSON的区别),在这种情况下,JSON响应包含在特殊的回调函数中.为此,远程服务器必须支持它.如果是这种情况,请查看API的文档.您显示的示例URL以及在浏览器中工作的示例url返回普通JSON.
>如果远程服务器不支持JSONP,但只发送XML或JSON,则必须在域上编写控制器操作,该操作将充当域和远程域之间的桥梁.然后,您将向此控制器操作发送AJAX请求,该操作又将使用WebClient向远程域发送HTTP请求.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。