$.get not returning html
$.get not returning html
我的简单代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
<script src="jquery.js"></script>
<script type="text/javascript">
$(function(){
$.get("http://www.facebook.com",function(data){
alert(data);});
});</script></head>
<body>
</body>
</html>
它应该提醒Facebook内容,但它没有这样做
更新
现在我正在使用 php
<?php
$str=file_get_contents("http://www.facebook.com");
echo strip_tags(htmlspecialchars($str));
?>
为什么不删除标签?
如果你在服务器端使用php。您可以使用以下命令创建一个返回 html 的服务:
$html = file_get_contents('http://www.facebook.com');
ASP.NET:
using(WebClient client = new WebClient())
{
string html = client.DownloadString("http://www.facebook.com'");
}
我想您刚刚由于同源策略而被浏览器阻止。请参阅控制台,如果您尝试执行此操作,您将收到警告。
如果没有跨域资源共享或服务器端代理,则无法读取跨域页面。
据我所知,唯一的方法是让域上的服务器脚本读取外部页面(wget,curl,fopen,还有什么)并将其返回到您的页面。您的服务器就像读取远程页面的"桥梁"。
您可能听说过没有跨域限制的JSONP,但是您以这种方式检索的不是HTML/pages,而是脚本。
由于同源政策,除非使用 JSONP,否则您无法从外部网站请求内容。但是,由于您请求的是 HTML,因此这不适用。
另一种方法是创建一个服务器端代理来获取 facebook.com 主页的 HTML,然后将该本地 URL 提供给 $.get()
函数。
您只能在同一域中发出 ajax 请求
但是,您可以使用 JSONP 发出跨域请求
http://en.wikipedia.org/wiki/JSONP
请参阅这篇关于 IBM developerworks 的文章:
http://www.ibm.com/developerworks/library/wa-aj-jsonp1/
相关文章:
- 可以't让我的if语句处理js中的html表单输入
- 如何设置html元素填充的动画
- 使用JS如何动态更改显示的html文件中的文本背景颜色
- 如何将HTML id分配给元素,以及如何将JavaScript应用于元素
- 如何编写HTML输入的JS内联
- Dojo不解析自定义小部件的模板html中的小部件声明性
- 使用javascript将动态表从一个html页面打印到另一个html页
- 通过javascript重定向html传递php变量
- 如何使Javascript动态html表及其上的事件
- 在chrome.tabs.onCreated之后加载HTML页面
- 如何在vs2002中调试html页面
- 如何使用javascript或html下载PDF格式的填写表单
- 视频HTML没有'无法在Internet Explorer 11上工作
- HTML表单提交时未执行外部函数
- 如何将输入(type=text)从html表单传递到javascript函数
- 使用angular重定向到html页面
- 分析高度属性时出现意外值{{specs.height}}.index.html
- 在html Select中添加搜索
- $.get not returning html
- Wordpress ajax returning html