Php Datatables从数据中删除反斜杠(\)字符
这是我使用Datatables jQuery插件的代码,该插件通过AJAX向服务器发送数据:Php Datatables从数据中删除反斜杠(\)字符,php,jquery,datatables,Php,Jquery,Datatables,这是我使用Datatables jQuery插件的代码,该插件通过AJAX向服务器发送数据: $('#allLessonAttachmentsTable').DataTable({ processing: true, serverSide: true, "bSort": false, "responsive": true, ajax: { url: 'http://lms.dev/admin/getFilesList', d
$('#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中检索它时,后端反斜杠字符被删除
什么是问题?为什么要删除 JavaScript将
\
作为转义字符。您可能需要使用\\
来转义它。将代码更改为:
d.type = 'App\\Lesson'
在控制台中,您可以看到JavaScript如何处理\
和\
:
如果整个过程都是由PHP生成的,您可以尝试使用PHP的函数生成字符串友好的输出。在发布之前,先看看它是如何生成的。这就是为什么你有一个叫做预览的东西。
d.type
参数是用一个类似这样的laravel方法生成的:d.type='{!!get_class($lessure)!!}'
@a.B.Developer你需要更改生成它的代码以提供双`或转义`s。在PHP中,我们有一个名为addslashes()
的函数。为什么不试试呢?