首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用JSONP加载html页面

使用JSONP加载html页面
EN

Stack Overflow用户
提问于 2011-09-24 00:05:18
回答 5查看 22.1K关注 0票数 24

我正在尝试使用JSONP加载一个外部页面,但该页面是一个HTML页面,我只想使用ajax获取它的内容。

编辑:我这样做的原因是因为我想在加载页面时传递所有的用户信息,例如:头、ip、代理,而不是我的服务器。

这可行吗?现在,我可以获得页面,但是jsonp试图解析json,返回一个错误:Uncaught SyntaxError: Unexpected token <

示例代码:

代码语言:javascript
复制
$.post('http://example.com',function(data){
    $('.results').html(data);
},'jsonp');

我已经设置了一个jsfiddle供人们测试:http://jsfiddle.net/8A63A/1/

EN

回答 5

Stack Overflow用户

发布于 2012-04-29 08:19:52

我已经完成了您想要的操作,但在我的示例中,我可以控制返回HTML的服务器端代码。因此,我所做的是将HTML代码包装在返回对象的一个Json属性中,并在客户端使用它,如下所示:

代码语言:javascript
复制
callback({"page": "<html>...</html>"})

您面临的语法错误是因为您使用的库需要json,但响应是HTML,仅此而已。

票数 12
EN

Stack Overflow用户

发布于 2011-09-24 00:09:58

我有三个字要给你:Same Origin Policy

除非远程URL真正支持正确的JSONP请求,否则您将无法执行您正在尝试的操作。这是一件好事。

编辑:当然,您可以尝试通过您的服务器…代理请求

票数 2
EN

Stack Overflow用户

发布于 2012-06-30 15:26:48

如果你真的只想使用客户端来抓取一个超文本标记语言文件,我建议使用flyJSONP -它使用YQL..或者使用jankyPOST,它使用了一些甜蜜的技术:

jankyPOST创建一个隐藏的iframe,并用一个表单iframe填充它

然后它使用HTML5 (看看传统的浏览器!)iframe发送到另一个webMessaging,并将iframe的表单元素的值设置为您指定的值。

将表单提交到远程server...done。

或者你可以直接使用PHP curl,解析它,回显它,等等。

我不知道你到底用它做什么,但我希望这能有所帮助。

还有..。我非常确定您可以JSONP任何来自服务器代码的输出。我用ClientLogin做到了这一点,只需JSONPing他们的keyGen页面,并成功地consoleLogged文本,即使它是b/w标签。我有一些其他的错误,但重点是我抓取了输出。

目前,我正在尝试做你所做的事情,所以如果成功了我会发回来的。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7531823

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档