javascript - Laravel 返回渲染的 html View ,不带\r\n -- json

标签 javascript json ajax laravel

在 ajax 调用后用另一个 html 部分渲染 View 并替换它时,我遇到了一些奇怪的问题。

代码如下所示:

//ajax - Controller 函数

$view = view('renderedData', [

            'test' => $data['test'],
            'unicorn' => $data['unicorn'],
        ])->render();
        return json_encode($view);

//我的 ajax:

function sendData() {
        var test= "test data"
        var dummy = "unicorn whatever" 
        $.ajax({
            type: "post",
            url: "{{ route('ajaxRender') }}",
            data: {'test': test, 'dummy': dummy},
            success: function (data) {
                $('tbody').replaceWith(data)
            }
        }); //end of ajax
    }

renderedData.blade View html:

<tbody>
@foreach($data as $d)
        <tr>
            <td>{{ $c->name }}</td>
            <td>{{ $c->$date }}</td>
            <td>{{ $c->$height }}</td>
        </tr>
@endforeach
</tbody>

( Blade 中完全没有空格或空行)

控制台中的响应如下所示:

"<tbody>\r\n                <tr>\r\n            <td>mydata<\/td>\r\n            <td>mydata<\/td>\r\n            <td>mydata<\/td>\r\n            <td>mydata<\/td>\r\n            <td>mydata<\/td>\r\n        <\/tr>\r\n                                            <tr>\r\n            <td>mydata<\/td>\r\n            <td>mydata<\/td>\r\n            <td>mydata<\/td>\r\n            <td>mydata<\/td>\r\n            <td>mydata<\/td>\r\n        <\/tr>\r\n    <\/tbody>"

我正在用新的替换旧的 tbody 部分。然而,我的表充满了我的数据和那些“\r\n ”,我不知道为什么。如下图所示:

enter image description here

我在 Web 控制台中发现的另一件事是 json html 看起来不错,下面的答案确实有那些“\r\n ...”

我认为“return json_encode($view);”有问题因为如果我尝试“return $view”——我可以看到格式正确的 html。

enter image description here

最佳答案

只需在渲染 View 之前使用preg_replace:

   $view = view('renderedData', [

                'test' => $data['test'],
                'unicorn' => $data['unicorn'],
            ])->render();

   $view = trim(preg_replace('/\r\n/', ' ', $view));

   return json_encode($view);

关于javascript - Laravel 返回渲染的 html View ,不带\r\n -- json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48250199/

相关文章:

json - 如何从 JSON 中获取最大值?

jquery - 相当于 jQuery.when 允许失败

javascript - 未捕获的类型错误 : b. 替换不是函数

javascript - 如何让 DOM 自动更新 - Firebase 问题

javascript - 将 Ember.js 与 Sock.js 结合使用

javascript - 语义 UI 弹出窗口未打开

javascript - 奥里莉亚 : Refresh view with a Map value

java - 从 JSONObject 中获取字符串

JSON 数组正在转换为通用列表,但未转换为通用集合。为什么?

javascript - 尽管页面已准备好,但 Rails javascript 未触发 :load