【发布时间】:2010-12-12 17:59:47
【问题描述】:
有人告诉我,$.getJSON 是向外部服务器发送数据和从外部服务器发送数据的最佳方式。我可能浪费了 7 个小时试图使用 JQUERY 的 Ajax 来这样做,只是为了发现没有浏览器允许这种类型的方法。我想使用 Jquery getJSON 发送数据,并且我使用 cakephp 作为我的接收端(即我的外部服务器)这是我到目前为止所拥有的。
$.getJSON("http://play.mysite.com/usersessions/store/",{ data: "Hi!"});
我不想要回调,因为我不需要它。我只需要将一些数据发送到外部服务器。这是 MVC 站点,因此 usersessions 是我的控制器,store 是我的操作。
下面是我的 cakephp 代码。如果你不知道那很好。我只需要知道我是否正确发送了 getJSON 数据
<?php class UsersessionsController extends AppController {
var $name = 'Usersessions';
var $helpers = array('Html', 'Form','Ajax');
var $components = array('RequestHandler');
function store()
{
Configure::write('debug', 0);
$this->autoRender = false;
if($this->RequestHandler->isAjax()) {
if ($this->params['url']['data'])
{
$this->data['Usersession']['data'] = $this->params['url']['data'];
$this->Usersession->Save($this->data);
echo 'Success';
}
}
}
} ?>
谢谢!
【问题讨论】:
-
除了“这看起来对吗”之外还有其他问题吗?
-
大概是上面的代码行不通吧?
-
您必须为此提供回调才能跨域运行。使用 .getJSON 方法时,jquery 会查找是否存在“callback=?”查询字符串中的参数以知道它是一个 JSONP 请求。然后,它会为您构建一个