数据表从数据中删除反斜杠(\)字符

时间:2016-05-09 09:00:07

标签: php jquery datatables

这是我使用Datatables jQuery插件的代码,它通过AJAX将数据发送到服务器:

$('#allLessonAttachmentsTable').DataTable({
    processing: true,
    serverSide: true,
    "bSort": false,
    "responsive": true,
    ajax: {
        url: 'http://lms.dev/admin/getFilesList',
        data: function (d) {
            d.id = '8',
            d.type = 'App\Lesson'
        }
    },
    columns: [
        {data: 'checkbox', name: 'checkbox', "width": "20px"},
        {data: 'picture', name: 'picture', 'className': 'text-center'}
    ]
});

如您所见,发送到服务器的type参数包含\(反斜杠)字符。但是当我在Laravel后端检索它时,反斜杠字符被移除。

什么是问题以及为什么要删除?

1 个答案:

答案 0 :(得分:5)

JavaScript将\作为转义字符。您可能需要使用\\来逃避它。将您的代码更改为:

d.type = 'App\\Lesson'

在控制台本身,您可以看到JavaScript如何处理\\\

enter image description here

如果整个事情是由PHP生成的,您可以尝试使用PHP的函数addslashes()来生成字符串友好的输出。