Php 在ZEND中处理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: 塔达,你已经被逮捕了 请注意阅读我链接的关于清除回调的文档。未能清理回调可能会

无法通过搜索(或谷歌)找到答案,所以我会自己问。 可以处理对zend框架的JSONP调用吗

仅找到此页面:

但我不确定它是否已经实现了

thx

只是一个JSON响应,封装在客户端上执行的指定回调函数中

目前仅适用于JSON-RPC。您找到的链接是一个已存档(未实现)的建议,用于添加JSONP支持

好消息是,您不需要任何类型的框架来支持JSONP。假设
$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终于有时间检查了这一点-它真的非常有效。谢谢