php加载html页面跨域,javascript – js:从不同的域加载页面的html

我想知道如何加载托管在不同域上的HTML?

我正在使用JavaScript,并希望创建一个书签,使我能够解析外部HTML.

我一直在谷歌上搜索几个小时……

解决方法:

不允许JavaScript发出跨域请求.这是一个很大的安全风险.相反,您必须在服务器上执行脚本并将结果返回给JavaScript函数.

例如,假设您使用的是JavaScript和PHP,您可以将应用程序设置为如下所示:

JavaScript向位于服务器上的页面(或脚本)发起Ajax请求.它将任何必需的参数传递给此页面.以下代码基于jQuery(为了简洁起见),但无论您的框架如何,原则都是相同的.

var sParameters = " ... " // this is defined by you

$.ajax({

url: 'your-server-side-code.php',

processData: false,

data: sParameters,

success: function(sResponse) {

// handle the response data however you want

}

});

服务器端代码将响应请求并将必要的参数传递给跨域网站. PHP的cURL library对此有好处.

// very contrivuted cURL configuration for purposes of example...

$curl_connection = curl_init();

$str_url = "http://you-url.com";

curl_setopt($curl_connection, CURLOPT_URL, $str_url);

curl_setopt($curl_connection, CURLOPT_GET, 1);

// ... keep setting your options ...

$str_response = curl_exec($curl_connection);

curl_close($curl_connection);

当跨域网站响应时,您的服务器端代码可以将响应回显给初始请求.这应该在回复之前进行验证,但这只是一个例子.

print_r($str_response);

然后,JavaScript响应处理程序函数可以解析传入的响应数据.请注意上面第一个JavaScript代码块中的success函数.

标签:bookmarklet,javascript,cross-domain

来源: https://codeday.me/bug/20191007/1867536.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值