假设我在网络上有一个网页,此页面包含许多带有ID的元素。如何使用javascript获取这些元素? 我在jQuery中使用过这个块:
$.get(websiteUrl, {}, function(results){
//alert(results); // will show the HTML from anotherPage.html
console.log($(results).find("bookId").html()); // show "bookId" div in results
});
但我得到错误:
XMLHttpRequest cannot load; Origin http://127.0.0.1:8000 is not allowed by Access-Control-Allow-Origin.
实际上,我正在尝试从Android上的Phonegap应用中的网页上获取一些数据。 任何想法如何做到这一点?
答案 0 :(得分:1)
大多数浏览器都遵循严格的同源策略。这意味着您无法向其他服务器发出Ajax请求。虽然你可以绕过它,但对每个客户来说都是不切实际的。
您最好的选择是调用服务器端脚本为您获取它,并将结果返回给JavaScript。
答案 1 :(得分:1)
您可以使用jsonp执行跨域ajax调用,但不会收到错误或超时回调。 jsonp本身支持jQuery。 http://api.jquery.com/jQuery.ajax/理论上,您使用精心构建的URL向页面添加脚本标记,其中包含回调函数的名称。然后服务器处理ajax“请求”,并将答案作为回调函数的单个参数返回。