我正在尝试使用jquery在Facebook墙上发表评论。
但是我的ajax调用没有提供外部url。
谁能解释一下如何在jquery中使用外部url?
下面是我的代码:
var fbUrl="https://graph.facebook.com/16453004404_481759124404/comments?access_token=my_token";
$.ajax({
url: fbURL ,
data: "message="+commentdata,
type: 'POST',
success: function (resp) {
alert(resp);
},
error: function(e){
alert('Error: '+e);
}
});它给了xmlhtttprequest错误。
发布于 2011-01-06 17:54:09
所有这些答案都是错误的!
就像我在我的评论中所说的,之所以会出现这个错误,是因为URL没有通过"Same origin policy",但您仍然可以使用AJAX函数访问另一个域,请参阅Nick Cravers answer on this similar question
你需要通过添加&callback=来用$.getJSON()触发
行为吗?在querystring上,如下所示:
$.getJSON("http://en.wikipedia.org/w/api.php?action=query&prop=revisions&rvprop=content&titles="+title+"&format=json&callback=?",function(data) { doSomethingWith(data);});
你可以在这里测试它。
如果不使用JSONP,您就会遇到同源策略,这会阻止XmlHttpRequest获取任何数据。
考虑到这一点,下面的代码应该可以工作:
var fbURL="https://graph.facebook.com/16453004404_481759124404/comments?access_token=my_token";
$.ajax({
url: fbURL+"&callback=?",
data: "message="+commentdata,
type: 'POST',
success: function (resp) {
alert(resp);
},
error: function(e) {
alert('Error: '+e);
}
});发布于 2012-08-01 02:36:27
JQuery和PHP
PHP文件“contenido.php”中:
<?php
$mURL = $_GET['url'];
echo file_get_contents($mURL);
?>在html中:
<script type="text/javascript" src="js/jquery/jquery.min.js"></script>
<script type="text/javascript">
function getContent(pUrl, pDivDestino){
var mDivDestino = $('#'+pDivDestino);
$.ajax({
type : 'GET',
url : 'contenido.php',
dataType : 'html',
data: {
url : pUrl
},
success : function(data){
mDivDestino.html(data);
}
});
}
</script>
<a href="#" onclick="javascript:getContent('http://www.google.com/', 'contenido')">Get Google</a>
<div id="contenido"></div>发布于 2011-01-06 17:13:38
这是Cross-site scripting问题。常见的现代浏览器不允许向另一个url发送请求。
https://stackoverflow.com/questions/4613310
复制相似问题