【问题标题】:Laravel ajax send multi dimension associative arrayLaravel ajax 发送多维关联数组
【发布时间】:2016-04-26 19:09:36
【问题描述】:

我想做一些非常简单的事情,但我不能让它工作,我只想通过 jquery ajax 发送一个多维数组到 laravel 并取回数据。

例如:

var info = JSON.stringify([{'key':'val1'},{'key':'val2'},{'key':'val3'}]);

$.ajax({
type: "POST",
url: "{!! route('ajaxactivityperemployee') !!}",
data: {"mydata":info},
success: function(msg){
    console.log(msg);
}

另一方面,在我的控制器上,我试试这个:

public function postActivityPerEmployee(Request $request)
{
    $input = $request->all();
    return $input['mydata'][0]['key'];
}

我尝试了各种组合,但最终总是出现 500 页错误,或者在控制台中,我只得到 [ 而没有别的。

【问题讨论】:

    标签: ajax laravel


    【解决方案1】:

    不要将您的 info 字符串化,因为您将发送一个字符串。

    改用这个:

    var info = [{'key':'val1'},{'key':'val2'},{'key':'val3'}];

    这意味着你要发送一个对象数组

    【讨论】:

    • 好的,我已经尝试过了,现在如果我返回 $input['mydata'][0],我会在控制台对象对象中看到,如果我尝试返回 $input['mydata'] [0]['key'],我收到错误 500
    • 你可以检查laravel返回给你的错误,例如用chrome浏览器你可以用开发工具检查F12 -> Network,你可以看到你的请求红色点击它并告诉我关于错误。
    • POST localhost/people/public/activityperemployee 500(内部服务器错误)
    • 当您单击您的请求时,您会在右侧面板上看到 [标题、预览等] 单击预览并将结果发送给我。示例developers.google.com/web/tools/chrome-devtools/profile/…
    • 我放弃了,另辟蹊径,我将每个值编码为单个变量,而不是传递数组,现在它工作正常。很抱歉我不能让它工作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-10-22
    • 2013-04-22
    • 2015-04-30
    • 1970-01-01
    • 2020-07-21
    • 1970-01-01
    • 2013-09-10
    相关资源
    最近更新 更多