gpt4 book ai didi

php - 通过 AJAX 将两个 JSON 模型对象从 PHP 传递到 JS

转载 作者:行者123 更新时间:2023-11-29 00:07:54 25 4
gpt4 key购买 nike

我正在使用 Laravel 开发一个相当简单的应用程序。

我在 Controller 函数中使用了这个,效果很好:

    if(Request::ajax())
{
$joke = Joke::where('type', '=', 'kid')->get()->random(1);

if (Session::has('joke'))
{
Session::forget('joke');
}

Session::put('joke', $joke);
return Response::json($joke);
}

但是,如果我将最后几行更改为:

Session::put('joke', $joke);
$user = $joke->user;
return Response::json([ 'joke' => $joke, 'user' => $user);

ajax 调用成功,但我不能再在我的 JS 中使用 $joke 或 $user。

这是ajax调用:

$.ajax({
type: "POST",
url: url,
data: { rating: userRating },
success: function(data){
var textString = 'Thanks for rating! This little gems score is a sweet ' + data.joke.rating + '!';
$('.jokeRating').html(textString);

},
error: function(){
// load a message indicating it didnt work
$('.jokeRating').html('It didnt work, sorry!');
},
});

我想补充的是

var authorString = '~' + data.user.name;
$('.author').html(author);

Eloquent 关系建立正确。 $joke->user 绝对有效,正如我放置的那样:

Route::get('/var', function()
{
$joke = Joke::find(1);
$user = $joke->user;
dd($user);
});

在 routes.php 中,它完美地通过了。

我哪里出错了?

最佳答案

在返回之前尝试将 User 和 Joke 对象转换为数组:

if(Request::ajax())
{
$joke = Joke::where('type', '=', 'kid')->get()->random(1);

if (Session::has('joke'))
{
Session::forget('joke');
}

Session::put('joke', $joke);
return Response::json([ 'joke' => $joke->toArray(), 'user' => $user->toArray()]);
}

关于php - 通过 AJAX 将两个 JSON 模型对象从 PHP 传递到 JS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26660879/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com