我看到了一些使用Ajax进行跨域的示例,但是它不起作用。
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
</head>
<body>
<script type="text/javascript" >
$(document).ready(function () {
var url = "http://api.twitter.com/1/statuses/user_timeline.json?screen_name=AssasNet&include_rts=1";
$.get(url, function (data) {
console.log(data)
alert(data);
});
});
</script>
</body>
</html>
我尝试使用chrome并给出以下错误:
XMLHttpRequest cannot load http://api.twitter.com/1/statuses/user_timeline.json?screen_name=AssasNet&include_rts=1. Origin null is not allowed by Access-Control-Allow-Origin.
您无法使用,$.get
因为它会进行ajax调用,该调用将是跨源的,因此被Same Origin
Policy
阻止,并且您尝试访问的Twitter
API不支持跨源资源共享(或者如果它支持,允许,它不允许原点null
或http://jsbin.com
,这是我尝试过的)。
该API确实支持JSONP(这不是真正的Ajax调用),因此只需将更$.get
改为$.ajax
指定即可JSONP
:
$.ajax({
url: url,
dataType: "jsonp",
success: function (data) {
console.log(data)
alert(data);
}
});
现场示例 | 资源
问题内容: 这是两个页面,test.php和testserver.php。 test.php testserver.php 现在我的问题是:当这两个文件都在同一服务器上(本地主机或Web服务器)时,它可以工作并被调用;如果它在不同的服务器上,则意味着Web服务器上的testserver.php和localhost上的test.php,它不起作用,并且正在执行。即使ajax内的URL更改为http:
问题内容: 这是两个页面,test.php和testserver.php。 test.php testserver.php 现在我的问题是:当这两个文件都在同一服务器上(本地主机或Web服务器)时,它可以工作并被调用;如果它在不同的服务器上,则意味着Web服务器上的testserver.php和localhost上的test.php,它不起作用,并且正在执行。即使ajax内的URL更改为http:
本文向大家介绍jQuery使用ajax跨域请求获取数据,包括了jQuery使用ajax跨域请求获取数据的使用技巧和注意事项,需要的朋友参考一下 跨域是我在日常面试中经常会问到的问题,这词在前端界出现的频率不低,主要原因还是由于安全限制(同源策略, 即JavaScript或Cookie只能访问同域下的内容),因为我们在日常的项目开发时会不可避免的需要进行跨域操作,所以跨域能力也算是前端工程师的基本功
问题内容: 对于一个项目,我需要获取其他不同域的网页的源代码。我尝试了以下代码: 我仍然没有得到任何结果,只是一个空白的警告框。 问题答案: 默认情况下,所有浏览器都限制跨域请求,您可以使用YQL作为代理来解决此问题。在此处查看指南:http://ajaxian.com/archives/using-yql-as-a- proxy-for-cross-domain-ajax
问题内容: 我正在尝试访问另一个域中的Web服务,但它不返回任何内容。后来我发现这是一个跨域访问的问题。 我在网上搜索了很多文章,但像我这样的新手都看不懂。:( 有人可以帮助我如何访问Web服务吗? 以下是我的代码。 问题答案: 浏览器不允许跨域AJAX调用。仅允许跨域JSONP请求。 要使用JSONP请求,您必须将属性更改为。但是,这意味着您不能请求XML,而只能请求JSONP。 关于JSONP
问题内容: 我正在尝试向API进行身份验证,该API仅允许您使用带有JSON的POST作为表单数据进行身份验证,格式为{“ username”:“ myusername”,“ password”:“ mypassword”}。 我已经尝试了两天,以使其与jQuery一起使用,但是由于它是跨域的,所以我遇到了问题。我该怎么做? 错误信息: 到目前为止的代码: 总结一下: API仅接受POST进行身份