小编Bra*_*cha的帖子

CakePHP 3:Ajax响应返回200响应代码和parsererror

我正在尝试从javascript文件向cakephp控制器发送ajax请求.ajax正在发送一个简单的json对象(为简单起见,我在这个例子中对其进行了硬编码).

当我进行日志记录时,服务器能够将json字符串解码为对象.该$this->Votes->delete函数被成功调用.我的问题是,一切都按预期工作,除了我仍然收到错误信息.

下面是我的代码,下面是我从中得到的输出.

使用Javascript:

function unvote() {
    $.ajax({
        type: 'POST',
        url: '../votes/unvote',
        async: false,
        contentType: 'application/json',
        dataType: 'json',
        data: JSON.stringify({'post_id':1}),
        success: function(data, textStatus, jqXHR){
            console.log(data);
            console.log(textStatus);
            console.log(jqXHR);
        }.
        error: function(jqXHR, textStatus, errorThrown){
            // this block gets triggered with a 200 response
            console.log(jqXHR);
            console.log(textStatus);
            console.log(errorThrown);
        },
    });
}
Run Code Online (Sandbox Code Playgroud)

PHP:投票控制器

public function unvote(){
    $this->autoRender = false;
    $vote = $this->Votes->newEntity();
    if ( $this->request->is('ajax') ) {
        $data = $this->request->input('json_decode');
        $vote = // get the correct vote from the database and save into …
Run Code Online (Sandbox Code Playgroud)

javascript php ajax jquery cakephp

6
推荐指数
1
解决办法
764
查看次数

与潜在扩展程序一起过期的Javascript警报

我有javascript警告出现,我希望每个警报在3秒后消失,但是我只能让他们一次消失,然后我不能再发出任何警报.

我也希望如果用户将鼠标悬停在警报上,则会重置3秒直到警报消失.

现在我正在使用该setTimeout功能,我99%肯定这是我的问题,我认为我需要重构一些东西以使用一些jquery延迟或其他等待功能,但我不确定如何做到这一点仍然得到我正在寻找的行为.

HTML看起来像这样:

<div id="site">
  <div class="btn btn-danger">Red Alert!</div>
  <div id="alerts" data-count="1">
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

JavaScript代码是:

$('.btn-danger').click(function(){
  var count = $('#alerts').data('count');
  var alert = '<div class="alert alert-danger" role="alert" data-dismiss="alert">' + count +'</div>';
  var a = $('#alerts').append(alert)
  setTimeout(function() { $(a).hide(); }, 3000);
  count += 1;
  $('#alerts').data('count', count);
});
Run Code Online (Sandbox Code Playgroud)

的jsfiddle

最后的JSFiddle

html javascript css jquery

2
推荐指数
1
解决办法
52
查看次数

CakePHP 3:未找到异常

我在User模型中编写了几个占位符函数.我想让他们做的就是抛出NotImplementedException() CakePHP提供的东西.功能很好,很简单,我尝试了几种不同的方式.

public function canConvert() {
    throw new NotImplementedException();
}
Run Code Online (Sandbox Code Playgroud)

错误:找不到类'App\Model\Entity\NotImplementedException'

public function canConvert() {
    throw new \NotImplementedException();
}
Run Code Online (Sandbox Code Playgroud)

错误:找不到类'NotImplementedException'

我能找到这样做的唯一方法就是这样.

public function canConvert() {
    throw new \Cake\Network\Exception\NotImplementedException();
}
Run Code Online (Sandbox Code Playgroud)

我试图做一个use Cake\Network\Exception;和顶部,只是抛出一个NotImplementedException()但是没有用.

php cakephp exception

2
推荐指数
1
解决办法
751
查看次数

标签 统计

cakephp ×2

javascript ×2

jquery ×2

php ×2

ajax ×1

css ×1

exception ×1

html ×1