本文目录一览:
- 跨域是指什么,因为什么引起的?有哪些解决方案?web前端知识
- 前端angularjs后端thinkphp,怎么解决跨域
- html5 webApp都是js跨域实现和后台PHP的交互?
- php js跨域请求,并设置cookies
- 用js的ajax跨域访问php有哪些方案?需要怎么做?
- php怎样实现跨域操作?
跨域是指什么,因为什么引起的?有哪些解决方案?web前端知识
域(Domain)是Windows网络中独立运行的单位,域之间相互访问则需要建立信任关系(即Trust Relation)。信任关系是连接在域与域之间的桥梁。当一个域与其他域建立了信任关系后,2个域之间不但可以按需要相互进行管理,还可以跨网分配文件和打印机等设备资源,使不同的域之间实现网络资源的共享与管理。 有一种简明的说法来解释广域跨域:跨域访问,简单来说就是 A 网站的 javascript 代码试图访问 B 网站,包括提交内容和获取内容。由于安全原因,跨域访问是被各大浏览器所默认禁止的。
解决方案:
- js向服务器发送请求,然后让服务器去另一个域上获取数据后返回。(用于你无法控制另一个域) 比如php中利用cUrl。
- 放置跨域文件.
- 用JSONP。虽然不能跨域进行通信,但是可以引入跨域的js文件。 先定义一个函数
var returnData;
function getData(obj) {
returnData = JSON.parse(obj);
}
当我们要向请求数据的时候,我们可以引入某个包含返回信息的js文件。
比如:<script type="text/javascript" src=""></script>
js的内容是getData({json:'格式'});
返回时输出 格式是 text/javascript (比如php用header('Content-type:text/javascript');
来输出)
那么文件加载好后解析js时就会执行这个函数,返回得到的数据就被赋值给了returnData
变量。
以这样的方式插入到页面中:
var script = document.createElement('script');
script.src=''; //传入参数id=12321
body.appendChild(script);
前端angularjs后端thinkphp,怎么解决跨域
下面阐述一下AngularJS中使用$http
实现跨域请求数据。
AngularJS中使用$http
用于读取远程服务器的数据。
AngularJS端使用$http.post()
,同时设置请求头信息:
$http.post('', {languageColumn:'name_eu'}, {'Content-Type':'application/x-www-form-urlencoded'})
.success(function(data){
$scope.industries = data;
});
html5 webApp都是js跨域实现和后台PHP的交互?
要想明白你的问题,首先的知道app的分类,app通常被分为3类:
- webapp:用html、css 和js开发的运行在服务器端的app;
- Native app:根据手机系统的默认开发语言开发的app
- hybrid app:基于两者之间的app 而你在问题里说的webapp本身就是一个用手机访问的网站,部署在服务器端,不需要安装,直接通过浏览器访问的,如果是需要安装的app,可以百度一下后面两种,你应该就会明白了。
php js跨域请求,并设置cookies
首先要说的是,阁下的问题看起颇费神,中文英文符号混杂,大小写混杂,让阅读者看起相当吃力。
其次,你跨域,JS不能使用POST和GET请求的,这是浏览器安全规则,不过可以使用其它办法来获得类似结果。
JS跨域,POST可以通过提交隐藏表单至隐藏框架页来得到请求结果。而GET请求则可以在目标地址后面加上要请求的GET参数然后抓取目标页的所有网页内容,再通过正则处理获得结果;也可以使用JSON来获取(详情请自行学习JSON,很简单的)。
阁下的问题,只是获取COOKIE时间,那么可以直接通过JS抓取目标页或JSON获得。而B域名的cookies.php
,完全不需要访问index.php
来获得上一个COOKIE的时间,因为它们是同一个站,index.php
能访问到的COOKIE,cookies.php
也能访问到。
B域名的cookies.php
参考如下(仅供参考,具体请根据自己情况另行写代码):
if(isset($_COOKIE["user"])) {
$time = $_COOKIE["user"];
} else {
$time = 0;
}
$_COOKIE["user"] = time();
echo $time;
//或输出JSON,请自行学习
终上,仅是提供一个思路,更多的还是要靠阁下自行摸索学习。 另外,这种跨域请求,建议使用JSON,因为它简单方便。当你学会了,就表示你会写接口和使用接口了(虽然这个只是最简单的接口)。当然除了JSON还可以使用XML,只是性能稍差一些,也不错。
用js的ajax跨域访问php有哪些方案?需要怎么做?
你可以jsonp来实现跨域,具体做法百度jsonp,会有一推答案的。还有就是你可以使用jq里的getScript()
这个方法,他是可以跨域访问的。应该会帮到你。
php怎样实现跨域操作?
服务器端PHP跨域一般没有限制,不像浏览器端有same origin policy。 把服务器B中的代码封装一下,确定好输入和输出,比如输入是一个HTTP Request,参数POST过去;输出是从HTTP Response返回一段XML。之后在服务器A的代码中做一个对服务器B的HTTP请求并处理返回的XML就好了。 有问题请追问~