Jquery 带CakePHP的JsonP
我正在开发一个CakePHP2.x应用程序,并试图实现JSONP。这是我第一次,所以我不知道该怎么做:Jquery 带CakePHP的JsonP,jquery,json,cakephp,jsonp,cakephp-2.1,Jquery,Json,Cakephp,Jsonp,Cakephp 2.1,我正在开发一个CakePHP2.x应用程序,并试图实现JSONP。这是我第一次,所以我不知道该怎么做: $(function(){ $.getJSON("https://www.example.com/myweb/api/getjsonp&jsoncallback=?", function(data){ console.log(data); } ); }); 控制器: public function getjsonp(){ $id =
$(function(){
$.getJSON("https://www.example.com/myweb/api/getjsonp&jsoncallback=?",
function(data){
console.log(data);
}
);
});
控制器:
public function getjsonp(){
$id = $this->Auth->user('idUser');
$messages = $this->Contact->getMessages($id);
$totalmessages = json_encode($messages);
echo $_GET['jsoncallback'] . '(' . $totalmessages . ')';
}
代码不起作用。我遗漏了什么吗?也许你还没有用php打开它 尝试在php文件的顶部添加此代码 标题(“访问控制允许原点:”
您可能没有呈现正确的布局/视图。请参见关于使用Json和Xml视图的说明 步骤:
Router::parseExtensions('json')
到您的router.php
文件(应用程序)控制器中加载RequestHandlerComponent
视图
(名为app/View/Api/json/getjsonp.ctp
)视图
:
<?php
$totalmessages = json_encode($messages);
echo $_GET['jsoncallback'] . '(' . $totalmessages . ')';
https://www.site.com/myweb/api/getjsonp&jsoncallback=?
到
https://www.site.com/myweb/api/getjsonp.json&jsoncallback=?
请注意.json
这到底是什么?我正在做一个Cakephp所以这是正确的吗?我没有得到文件。。。这里没有任何例子,只有简单的英语解释是行不通的。。。当我在浏览器中键入url时。。它找不到你添加的类路由器::parseExtensions('json')?是的,我添加了。。。当我尝试将我在问题中编写的代码的url输入浏览器时。。我可以看到结果。机器人不在firebug的控制台选项卡中。。。但是您的代码没有编码。它不会指向正确的url
public function getjsonp() {
$id = $this->Auth->user('idUser');
$messages = $this->Contact->getMessages($id);
$this->set(compact('messages'));
}