Php 在ZEND中处理JSONP调用
无法通过搜索(或谷歌)找到答案,所以我会自己问。 可以处理对zend框架的JSONP调用吗 仅找到此页面: 但我不确定它是否已经实现了 thx只是一个JSON响应,封装在客户端上执行的指定回调函数中 目前仅适用于JSON-RPC。您找到的链接是一个已存档(未实现)的建议,用于添加JSONP支持 好消息是,您不需要任何类型的框架来支持JSONP。假设Php 在ZEND中处理JSONP调用,php,jquery,ajax,zend-framework,jsonp,Php,Jquery,Ajax,Zend Framework,Jsonp,无法通过搜索(或谷歌)找到答案,所以我会自己问。 可以处理对zend框架的JSONP调用吗 仅找到此页面: 但我不确定它是否已经实现了 thx只是一个JSON响应,封装在客户端上执行的指定回调函数中 目前仅适用于JSON-RPC。您找到的链接是一个已存档(未实现)的建议,用于添加JSONP支持 好消息是,您不需要任何类型的框架来支持JSONP。假设$response是您希望返回给用户的数据,并且$callback: 塔达,你已经被逮捕了 请注意阅读我链接的关于清除回调的文档。未能清理回调可能会
$response
是您希望返回给用户的数据,并且$callback
:
塔达,你已经被逮捕了
请注意阅读我链接的关于清除回调的文档。未能清理回调可能会导致可被利用的情况。对于使用ZEND framework并想知道我必须更改哪些内容才能使其正常工作的人 必须对几个文件进行更改: 1) 在视图>布局下添加了一个名为json.phtml的新布局
<?php
header('Content-type: application/javascript');
echo $this->layout()->content;
?>
<?php
if ($this->callback != "")
{
echo $this->callback, '(', json_encode($response), ');';
}
else
{
echo json_encode($response);
}
?>
3) 在视图>脚本>json.phtml下添加了一个新视图
<?php
header('Content-type: application/javascript');
echo $this->layout()->content;
?>
<?php
if ($this->callback != "")
{
echo $this->callback, '(', json_encode($response), ');';
}
else
{
echo json_encode($response);
}
?>
现在我可以通过jquery调用ajax,如下所示:
$.ajax({
type: "GET",
url: 'http://<your_url>/<your_controller>/json',
data: {},
dataType: "jsonp",
success: function(json) {
console.log("success");
},
error: function(jqXHR, textStatus, errorThrown) {
console.log("error("+jqXHR+", "+textStatus+", "+errorThrown+")");
}
});
$.ajax({
键入:“获取”,
网址:'http:////json',
数据:{},
数据类型:“jsonp”,
成功:函数(json){
控制台日志(“成功”);
},
错误:函数(jqXHR、textStatus、errorshown){
log(“错误(“+jqXHR+”,“+textStatus+”,“+errorshown+”);
}
});
也许这对某人有帮助…嗨,查尔斯。谢谢你的快速回复。我知道我不必使用任何框架,但如果我已经使用了该怎么办…:)将阅读有关消毒的文档,并尝试使用zend框架实现它。如果有效的话,我会发布。Thx终于有时间检查了这一点-它真的非常有效。谢谢