求助Jquery $.ajax跨域解决办法 本地测试正常,放到服务器上提示拒绝访问。 查了之后才发现是由于自己用的$.ajax跨域获取网页内容,出现了问题。指定一个url地址(跨域),用JS的任何方式获取这个url的源代码,请教有什么方法吗?指定URL不是自己的,不能写任何内容。 例如: A站 www.aa.com B站 www.bb.com 目标URL www.bb.com/view.php?cate=***&tag=***A站的某文件通过JS获取到目标URL的源代码怎么做到? 多谢多谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 以前用java时候记得java有个方法是可以获取到页面内容 jquery jsonp 搜一下吧 如果请求的服务器端代码你不能修改 那你还是省省力气吧 不可能实现的 我就教你用js的方式,解决ajax跨域问题吧。1. 使用中间层过渡,也就是传说中的代理的方式:中间过渡,很明显,就是在AJAX与不同域的服务器进行通讯的中间加一层过渡,这一层过渡可以是PHP、JSP、c++等任何具备网络通讯功能的语言,由中间层向不同域的服务器进行读取数据的操作。拿PHP做一个例子,如果需要对不同域的某一个php进行通讯,现在客户端的xmlhttprequest先query本域的一个PHP,然后由本域的这个PHP去和不同域的PHP进行通讯,然后由本域的PHP输出response;2. 使用<script>标签这个方法是利用<script>标签中的src来query一个PHP获得response,因为<script>标签的src属性不存在跨域的问题。举个例子来让大家看得更清楚一点吧:<script LANGUAGE="Javascript" src="" id="get"></script><script LANGUAGE="Javascript"><!--function get(url){var obj = document.getElementById("get");obj.src = url;(obj.readStatus == 200){alert(param);}}function query(){get(get.php);}//--></script><BODY><INPUT TYPE="button" value="CLICK ME" onclick="query()"></BODY></HTML> 跨域请使用jsonp方式。但是还要服务端提供配合 你自己的服务端写一个代理的 由服务器代理访问远程地址再把响应转发 另一个办法就是<script src="你访问的外部网关"></script>但是响应要是json滴 不然好想拿不到数据 如果跨域获取网页内容,如果要身份验证,是要把身份传递过去才行,如在使用uploadify时,要加这个参数'scriptData': { 'ASPSESSID': '@HttpContext.Current.Request.Form["ASPSESSID"]', 'AUTHID': '@HttpContext.Current.Request.Form["ASP.NET_SessionId"]' }我是用ASP MVC3开发的,不知你的开发环境,JS应该都差不多,可能就是参数传递不一样,如果对方不许可你访问或验证模式对你不公开,可能就出现问题了,因为上面这句传参就不确定了 这个要看www.bb.com/view.php?cate=***&tag=***支持什么形式的跨域,一般常用的有jsonp,window.name和中间层跨域,具体自己GOOGLE,一大堆。。 jsp使用过滤器后,产生JavaScript中文乱码 javascript可以实现类似php的一些功能吗? 急,梅花雪MzTreeView10的树形结构,父节点链接问题 如何将下拉菜单中选中的值放到同一表单的文本框中去?(在线等) 一个关于SELECT的问题 如何判断,子画面对父画面进行了刷新操作, 当点击 小写字母 a 时候,弹出窗口,如何做到??? 如何在客户端操作Word?? net_lover(孟子E章)斑竹:有什么更好的方法解决线条粗细问题吗? 急!一个有关表单提交的问题,恳请帮助,高分相赠! 如何用JS实现点击没有ID没有NAME的按钮呢? 通过正则查找字符串
1. 使用中间层过渡,也就是传说中的代理的方式:中间过渡,很明显,就是在AJAX与不同域的服务器进行通讯的中间加一层过渡,这一层过渡可以是PHP、JSP、c++等任何具备网络通讯功能的语言,由中间层向不同域的服务器进行读取数据的操作。拿PHP做一个例子,如果需要对不同域的某一个php进行通讯,现在客户端的xmlhttprequest先query本域的一个PHP,然后由本域的这个PHP去和不同域的PHP进行通讯,然后由本域的PHP输出response;2. 使用<script>标签这个方法是利用<script>标签中的src来query一个PHP获得response,因为<script>标签的src属性不存在跨域的问题。举个例子来让大家看得更清楚一点吧:<script LANGUAGE="Javascript" src="" id="get">
</script>
<script LANGUAGE="Javascript">
<!--
function get(url)
{
var obj = document.getElementById("get");
obj.src = url;
(obj.readStatus == 200)
{
alert(param);
}
}
function query()
{
get(get.php);
}
//-->
</script>
<BODY>
<INPUT TYPE="button" value="CLICK ME" onclick="query()">
</BODY>
</HTML>
<script src="你访问的外部网关"></script>但是响应要是json滴 不然好想拿不到数据
'scriptData': { 'ASPSESSID': '@HttpContext.Current.Request.Form["ASPSESSID"]', 'AUTHID': '@HttpContext.Current.Request.Form["ASP.NET_SessionId"]' }
我是用ASP MVC3开发的,不知你的开发环境,JS应该都差不多,可能就是参数传递不一样,如果对方不许可你访问或验证模式对你不公开,可能就出现问题了,因为上面这句传参就不确定了