如何在thinkphp开发的项目中的php页面得到跨域传来的jsonp值

山东小常 发布于 2013/04/24 17:10
阅读 5K+
收藏 1

下面是一个域里的传值

<?php

session_start();
$callback = $_GET["callback"];
$a = array(
'username'=>'$_SESSION['username']',

'func'=>$callback,
);
$result = json_encode($a);
echo "flightHandler($result)";
exit;

?>

如何在另一个项目(thinkPHP框架开发的)中的IndexAction.class.php中得到上面传过来的值?求教各位大牛,项目十分紧,试过了很多办法,不成功。

加载中
0
霡霂
霡霂

使用APC缓存。

APC的使用很简单,但是需要开启相应的扩展。APC中的变量是单独存在的,不受请求域空间的限制。

这是我能想到的最简单的方案了。

还可以在第一个文件中,模拟http请求,组装一个head,发送到第二个页面,然后设置一个条件进行接收。

霡霂
霡霂
回复 @山东小常 : 我也知道你很着急,昨天晚上突然有急事,就下线了。 我想说,我的实现是在ZendFramework使用apc。apc真的很简单。就是一组函数用来直接从内存里拿变量。
山东小常
山东小常
回复 @项霡霂 : 第一种方法 我不是很明白 类似的没做过 可不可以把你做过的例子发送到我的邮箱 mrchangshouchuan@163.com 谢谢 很急
山东小常
山东小常
回复 @项霡霂 : 嗯 谢谢 我尝试一下第一种吧 感觉你的第二种比较简单一些
霡霂
霡霂
回复 @山东小常 : 不用谢,第二种,只是我的一种思路,理论上可行。第一种方法我完全实现了,而且很简单。
山东小常
山东小常
能不能把第二个方案说得详细点 谢谢
0
jacky-zhuo
jacky-zhuo

跨域ajax请求需要添加callback

PHP代码

echo $_GET['callback'], '(', json_encode($a), ')';

这个使用jquery的ajax请求跨域jsonp

0
狂飙的小蜗牛
狂飙的小蜗牛
file_get_contents()  + json_decode()
山东小常
山东小常
username'=>'$_SESSION['username']', 这个值用你的方法具体怎么得到呢
返回顶部
顶部