Laravel response() - >自定义类中的json返回空字符串

时间:2016-06-06 19:23:22

标签: php json laravel

我有一个问题,我无法解决它。

在我的控制器中我有方法:

public function deleteImg(Request $request, $id) {
        $image_id  = $request->input('imgId');
        $image_src = $request->input('imgSrc');
        AdImages::delete($id, $image_id, $image_src);
    }

在AdImages类中,我有静态方法:

public static function delete($id, $image_id, $image_src) {
    return response()->json(['status' => 'error', 'message' => 'Error occurred. Please try again.']);
}

这是ajax:

$.ajax({
            url: '/dashboard/ad/{{ $ad->id }}/remove-image',
            type: 'POST',
            data: {imgId: imgId, imgSrc: imgSrc},
            success: function(data) {
                console.log(data);
            }
        })

问题是,如果我返回响应,我什么都没有,空字符串。但如果我var dump(response() - > ...)我看到我需要的对象。

有任何想法/建议吗?

谢谢

3 个答案:

答案 0 :(得分:3)

您的控制器方法实际上并没有向浏览器返回任何内容。您应该将return json响应调用放在控制器方法中,而不是放在模型中。

我还建议你不要将模型方法命名为“delete”,因为这是一个Eloquent关键字。

答案 1 :(得分:1)

添加返回AdImages电话:

return AdImages::delete($id, $image_id, $image_src);

答案 2 :(得分:0)

谢谢你们。 这就是问题:)

是的,将删除重命名为其他内容会很聪明。